侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

shell中$0,$?,$!等的特殊用法

2023-12-01 星期五 / 0 评论 / 0 点赞 / 81 阅读 / 1340 字

变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览

变量说明:

$$
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/shecho "number:$#"echo "scname:$0"echo "first :$1"echo "second:$2"echo "argume:$@"

执行脚本
# ./test.sh aa bb

number:2scname:./test.shfirst: aasecond:bbargume:aa bb

通过显示结果可以看到:
$# 是传给脚本的参数个数
$0 是脚本本身的名字
$1是传递给该shell脚本的第一个参数
$2是传递给该shell脚本的第二个参数
$@ 是传给脚本的所有参数的列表

广告 广告

评论区