Recently learning a Linux script, here is the meaning of $, $, $!, etc. in shell scripts
Variable Description $$
The PID of the shell itself (ProcessID)
$!
PID of the Shell's last running background process
$?
End code of the last Run command (return value)
$-
Flag at a glance using the SET command
$*
All parameter lists. such as "$*" in the Case of "" ", in the form of" $ $ ... $n "output all parameters.
$@
All parameter lists. such as "$@" with "" "in the case, with" $ "" $ "... All parameters are output in the form "$n".
$#
Number of arguments added to the shell
$
The name of the shell itself
$1~ $n
Each parameter value added to the shell. $ $ is the 1th parameter, and the $ = is the 2nd parameter ....
Script examples
Let's start by writing a simple script that will explain the meaning of each variable after execution.
# Touch Variable
# VI Variable
The script reads as follows:
#!/bin/sh
echo "number:$#"
echo "Scname:$0"
echo "First: $ $"
echo "Second:$2"
echo "argume:$@"
Save exit
Assigning Script Execution permissions
# chmod +x Variable
Execute script
#./variable AA BB
Number:2
Scname:./variable
First:aa
Second:bb
ARGUME:AA BB
Results analysis
By displaying the results you can see:
$# is the number of arguments passed to the script
The name of the script itself
$ $ is the first parameter passed to the shell script
$ $ is the second parameter passed to the shell script
$@ is a list of all parameters passed to the script