www.lydf.net > shEll脚本 Exit值

shEll脚本 Exit值

当你 exit 0 的时候,在调用环境 echo $? 就返回0,也就是说调用环境就认为你的这个程序执行正确当你 exit 1 的时候,一般是出错定义这个1,也可以是其他数字,很多系统程序这个错误编号是有约定的含义的。 但不为0 就表示程序运行出错。 调用环境...

这个||叫逻辑或运算符 执行的时候先执行语句1,如果语句1执行成功(退出状态为0)就跳过后面的语句。比如你这个例子里的语句1成功就不会执行exit 1,语句1不成功就会执行exit 1。Shell会尽量保证操作符前后的语句有一个执行成功。 与这个类似的...

1、如果a.sh只是结束程序,没什么区别 2、如果b.sh调用a.sh脚本,b.sh要根据a.sh执行结果继续任务 exit 0表示成功了 exit 1表示有错误

exit 表示这个程序退出,结束了 exit 2 表示这个程序退出后,它的返回值是2。 可以理解为这个程序死了,它的遗言是2,告诉别人自己是因为什么原因死掉的。这样法医(shell或它的父进程)就可以知道原因,来判断凶手(程序出错)是谁,从而作进一...

没有看到你的code,但你的理解没错的,shell 执行exit 会自己退出的。 不成功估计有两个原因: java 调用shell是否直接跑到后台?有没有设置抓到shell返回值再继续跑? shell 中exit command没有执行成功,这个细心要debug了。

$? 指代的是上一条指令的执行结果 exit 0 和 1 是shell 执行结果的返回值 如果你执行这个shell,然后在终端里打echo $? 此时的值应该就是exit后面跟的值

在需要退出的命令后加上exit 0

改成 send “exit \$ret\r” ret 变量是 ssh 到远端后shell里面定义的 (即你之前的send "ret=`echo $?`\r") ,所以要把 $ 用 \ 转意,否则 $ret 指的是 expect 里的ret变量,你在 expect 里当然没有定义过这个变量了,所以出错。

这个是应用自己定义的,没有标准的。 明确的标准就是0成功,非0失败。 非0值,可以参考C语言的errno.h中的定义来返回,例如: #define EPERM 1 /* Operation not permitted */#define ENOENT 2 /* No such file or directory */#define ESRCH 3 ...

网站地图

All rights reserved Powered by www.lydf.net

copyright ©right 2010-2021。
www.lydf.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com