当前位置:   article > 正文

Linux脚本文件 $1,Shell脚本中$#,$@,$0,$1,$2等变量的含义

shell filename $1

在看脚本的时候经常可以看到$#,$@,$0,$1,$2等变量,那么这些是什么意思呢?博主摘录一些常用的做下解释。

$$

Shell本身的PID(ProcessID)

$!

Shell最后运行的后台Process的PID

$?

最后运行的命令的结束代码(返回值)

$-

使用Set命令设定的Flag一览

$*

所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。

$@

所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。

$#

添加到Shell的参数个数

$0

Shell本身的文件名

$1~$n

添加到Shell的各参数值。$1是第1参数、$2是第2参数…

举例:

#!/bin/bash

#

printf "The complete list is %s\n" "$$"

printf "The complete list is %s\n" "$!"

printf "The complete list is %s\n" "$?"

printf "The complete list is %s\n" "$*"

printf "The complete list is %s\n" "$@"

printf "The complete list is %s\n" "$#"

printf "The complete list is %s\n" "$0"

printf "The complete list is %s\n" "$1"

printf "The complete list is %s\n" "$2

结果:

[Aric@localhost ~]$ bash params.sh 123456 QQ

The complete list is 24249

The complete list is

The complete list is 0

The complete list is 123456 QQ

The complete list is 123456

The complete list is QQ

The complete list is 2

The complete list is params.sh

The complete list is 123456

The complete list is QQ

参考资料:《Advanced Bash-Scripting Guide.pdf》:http://download.chekiang.info/blog/Advanced%20Bash-Scripting%20Guide.pdf

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/154512
推荐阅读
相关标签
  

闽ICP备14008679号