====== BASH - Commands - Command Line Arguments ======
Getting arguments directly from the command shell can be beneficial in a number of cases.
#!/bin/bash
echo "Total arguments : $#"
echo "First Argument = $1"
echo "Second Argument = $2"
Run this script with two additional parameters after its name.
./test.sh Hello Peter
**NOTE:** **$1** is used for accessing the first argument, **$2** for the second, and so on.
The **$#** is used for getting the total number of arguments.
----
===== Getting Arguments with Names =====
The below example shows how to get command-line arguments with their names.
#!/bin/bash
for arg in "$@"
do
index=$(echo $arg | cut -f1 -d=)
val=$(echo $arg | cut -f2 -d=)
case $index in
X) x=$val;;
Y) y=$val;;
*)
esac
done
((result=x+y))
echo "X+Y=$result"
Run this script with two additional parameters after its name.
./test.sh X=44 Y=100
returns
X+Y=144
**NOTE:** The arguments here are stored inside **‘$@‘** and the script fetches them using the Linux **cut** command.