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.
[Email protected]
All parameter lists. such as "[email protected]" 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 ....
Example:
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 "Args number:$#"
echo "Script Name:$0"
echo "First arg:$1"
echo "Second Arg:$2"
echo "Args:[email protected]"
Save exit
Assigning Script Execution permissions
# chmod +x Variable
Execute script
#./variable AA BB
Args Number:2
Script Name:./variable
First ARG:AA
Second ARG:BB
ARGS:AA BB
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
[Email protected] is a list of all parameters passed to the script
$ () called command substitution in Bash, callback with a subshell. In layman's words, it is the command part that is enclosed by it that will take precedence.
The $ (command) command is substituted, and ' command ' is the same function
#Examples:
# basename/usr/bin/sort Output "Sort".
# basename include/stdio.h. h Output "Stdio".
#Examples:
# dirname/usr/bin/sort Output "/usr/bin".
# dirname stdio.h Output ".".
name=$ (basename $VCF. vcf.gz)
dir=$ (dirname $VCF)
Special usage of $0,$?,$! in shell