Variable Description:
$$ the shell itself PID (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. All arguments are considered to be a string
[email protected] all parameter lists. argument is a separate string
$# number of arguments added to the shell
The file name of the shell itself
$1~ $n Each parameter value added to the shell. $ $ is the 1th argument, and the $ = is the 2nd parameter ....
Use a script to see the effects of each variable
1#!/bin/SH2 3 # # Rustfisher4 5 Echo "----------------------"6 Echo "PID: \$$ $$"7 Echo "option numbers: \$# $#"8 Echo "Last return: \$? $?"9 Echo "All parameters: \$* $*"Ten Echo "All parameters: \[email protected] [email protected]" One Echo "file name: \$0" A Echo "1st param: \$1 $" - Echo "2nd param: \$2" - Echo "3rd param: \$3" the Echo "4th param: \$4 $4" - Echo "9th parem: \$9 $9" - Echo "-----------------------" - +index=1 - + Echo "get args by \ "\[email protected]\":" A at forArginch "[email protected]" - Do - Echo "Arg # $index = $arg" -Let"index+=1" - Done - in Echo "-----------------------" - toindex=1 + - Echo "get args by \ "\$*\":" the * forArginch "$*" $ DoPanax Notoginseng Echo "Arg # $index = $arg" - Done the + Echo "-----------------------"
Output Result:
$SHShow.SHDont"worry be"Happy----------------------PID: $$12897option numbers: $#3 LastReturn: $?0All parameters: $*dont worry be happyall parameters: [email protected] dont worry be happyfileName: $0Show.SH1st param: $1dont2nd param: $2worry be3rd param: $3happy4th param: $49th parem: $9-----------------------get args by"[email protected]": Arg #1=Dontarg #2=Worry Bearg #3=Happy-----------------------get args by"$*": Arg #1=dont worry be happy-----------------------
Linux shell variable $#,[email protected], $0,$1,$2 meaning explanation