当前位置:   article > 正文

【Linux】Linux脚本中($0、$?、$*、$@、$#、$$、$!)这些符号的含义及用法_linux $?

linux $?

1. 功能说明

$0:就是该bash文件名,个位数的,可直接使用数字,但两位数以上,则必须使用 {} 符号来括住,如${10}.

$?:是上一指令的返回值,成功是0,不成功是1。一般来说,UNIX(linux) 系统的进程以执行系统调用exit() 来结束的。这个回传值就是status值。回传给父进程,用来检查子进程的执行状态。一般指令程序倘若执行成功,其回传值为 0;失败为 1$*:所有脚本参数的内容:就是调用调用本bash shell的参数。 

$@:基本上与上面相同。只不过是“$*”返回的是一个字符串,字符串中存在多外空格。 “$@”返回多个字符串。

$#:返回所有脚本参数的个数。

$$ :Shell本身的PID(ProcessID),即当前进程的PID。

$! :Shell最后运行的后台Process的PID

$- :使用Set命令设定的Flag一览

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

2. 代码示例

  • 文件名test
#!/bin/sh 

echo "number:$#" 

echo "scname:$0" 

echo "first :$1" 

echo "second:$2" 

echo "argume:$@" 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 运行结果
number:2 		//$# 是传给脚本的参数个数 

scname:./test	//$0 是脚本本身的名字 

first: aa 	//$1是传递给该shell脚本的第一个参数 

second:bb 	//$2是传递给该shell脚本的第二个参数

argume:aa bb //$@ 是传给脚本的所有参数的列表
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/154569
推荐阅读
相关标签
  

闽ICP备14008679号