加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Shell脚本中$0、$?、$!等的意义

发布时间:2020-12-15 23:18:50 所属栏目:安全 来源:网络整理
导读:变量说明 $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览 $* 所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。 [email?protected]


变量说明
$$    Shell本身的PID(ProcessID)
$!    Shell最后运行的后台Process的PID
$?    最后运行的命令的结束代码(返回值)
$-    使用Set命令设定的Flag一览
$*    所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
[email?protected]    所有参数列表。如"[email?protected]"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
$#    添加到Shell的参数个数
$0    Shell本身的文件名
$1~$n  添加到Shell的各参数值。$1是第1参数、$2是第2参数…。

脚本举例
# touch variable
# vi variable
脚本内容如下:
#!/bin/sh
echo "number:$#"
echo "scname:$0"
echo "first :$1"
echo "second:$2"
echo "argume:[email?protected]"
保存退出
赋予脚本执行权限
# chmod +x variable? ?
执行脚本
# ./variable aa bb
number:2
scname:./variable
first: aa
second:bb
argume:aa bb


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

原文转自 http://blog.csdn.net/sum_tw https://blog.csdn.net/sum_TW/article/details/52115659, 个人稍作整理

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读