shell脚本里“$?”什么意思?

 我来答
apple哲皓
高粉答主

2018-05-22 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:200
采纳率:100%
帮助的人:5.6万
展开全部

Linux shell 脚本中, $@ 和$# 分别是:

$@:表示所有脚本参数的内容

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

示例:编写如下shell脚本,保存为test.sh

#!/bin/sh

echo "number:$#"

echo "argume:$@"

执行脚本:

./test.sh first_arg second_arg

说明:给脚本提供了两个参数,所以$#输出的结果是2,$@代表了参数的内容!

solaris4u
推荐于2019-08-13 · TA获得超过309个赞
知道小有建树答主
回答量:107
采纳率:80%
帮助的人:95.5万
展开全部
$? 上个命令的退出状态,或函数的返回值
例子1 :
ls 命令没有找到匹配的结果. 所以返回2 $? 就是2
[root@sg-rhel6-17 etc]# ls /tmp/*.log
ls: cannot access /tmp/*.log: No such file or directory
[root@sg-rhel6-17 etc]# echo $?
2
例子2 :
ls 命令找到了结果. 成功返回0 所以$? 就是0
[root@sg-rhel6-17 etc]# ls /tmp/*.tmp
/tmp/reminder.tmp
[root@sg-rhel6-17 etc]# echo $?
0
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式