欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Bash special variable:$#, $$, $@, $*, $0, $?

程序员文章站 2022-06-01 17:23:50
...
special variable:$#, $$, $@, $*, $0, $?

1, $#
The number of arguments supplied to a script.
eg:
if [ "$#" -eq 0 ]; then
  echo "you did not pass any parameter"
fi

echo "Total Number of Parameters : $#"
Total Number of Parameters : 2

2, $$
The process number of the current shell. For shell scripts, this is the process ID under which they are executing.

3, $@
the "$@" special parameter takes the entire list and separates it into separate arguments.
All the arguments are individually double quoted. If a script receives two arguments, $@ is equivalent to $1 $2.

4, $*
the "$*" special parameter takes the entire list as one argument with spaces between.
All the arguments are double quoted. If a script receives two arguments, $* is equivalent to $1 $2.

5, $0
The filename of the current script.

6, $?
represents the exit status of the previous command.
0 if they were successful, and 1 if they were unsuccessful.
eg:
touch test.ksh
write in test.ksh as below:
-----------------------
#create a stored procedure, name do_feed_processing.
do_feed_processing() {
  ....
  return 0
}
#execute do_feed_processing
do_feed_processing
#print execution result
echo $?
-----------------------
$ sh test.ksh
$ 0
相关标签: bash Unix