shell 脚本里$?什么意思
3个回答
展开全部
Linux.shell 脚本中, $@ 和$# 分别是:
$@:表示所有脚本参数的内容
$#:表示返回所有脚本参数的个数。
示例:编写如下shell脚本,保存为test.sh
#!/bin/sh
echo "number:$#"
echo "argume:$@"
执行脚本:
./test.sh first_arg second_arg
概念:
Shell就是一个命令行解释器,它的作用就是遵循一定的语法将输入的命令加以解释并传给系统。它为用户提供了一个向Linux发送请求以便运行程序的接口系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。 Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。
以上内容参考:百度百科-Shell脚本
展开全部
$? 上个命令的退出状态,或函数的返回值。
例子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
例子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
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上正解,但不是很全,不一定是执行脚本,多指执行命令,一般在程序里面会对其进行判断,如果发现上一行的命令执行有误,该脚本就会终止执行。
if [ $? -ne 0 ]
then
#脚本不正常退出
exit 1
fi
if [ $? -ne 0 ]
then
#脚本不正常退出
exit 1
fi
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询