Original URL: http://dadekey.blog.51cto.com/107327/119938
let's start by writing a simple script that will explain the meaning of each variable after execution .# Touch Variable# VI VariableThe script reads as follows:#!/bin/shecho "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 assigning script Execution Permissions# chmod +x variableExecute Script#./variable AA BBNumber:2
Scname:./variable
First:aa
Second:bb
ARGUME:AA BBshow Parm LIST:AA bb
Show Process id:24544Show Precomm stat:0
by displaying the results you can see:$# is the number of arguments passed to the scriptThe 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 the exit state that displays the last command, 0 means no error, and the other indicates an error
"Go" Linux in the variable $#,[email protected], the meaning of $0,$1,$2,$*,$$,$?