Linux Medium Variable $#,[email protected],$0,$1,$2,$*,$$,$? the meaning
Let's start by writing a simple script that will explain the meaning of each variable after execution.
The script reads as follows:
[email protected] ~]# cat Test.txt#!/bin/bashecho "number:$#" echo "Scname:$0" echo "First:" echo "Second:$2" echo " Argume:[email protected] "echo" Show Parm list:$* "echo" Show Process id:$$ "echo" Show Precomm stat: $? "
Save Exit
Execute script
[[Email protected] ~]# sh test.txt a bnumber:2scname:test.txtfirst:asecond:bargume:a bshow parm list:a bshow process id:1 283show Precomm stat:0
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
$* is to display all parameters passed to the script in a single string, with more than 9 parameters, unlike positional variables
$$ is the current process ID number for the script to run
$? is to display the exit status of the last command,0 means no error, others indicate an error
This article is from the "Chen Ronghua Linux operation and Maintenance Road" blog, please make sure to keep this source http://ronghuachen.blog.51cto.com/10543403/1857212
Linux variable $#,[email protected], meaning of $0,$1,$2,$*,$$,$?