Unix Shell脚本:退出并返回值

MAK*_*MAK 2 unix shell

我有以下unix shell脚本,其中我有两个整数变量,即a和b。

如果a大于或等于b,则shell脚本应退出并返回0

否则,它应返回1退出。

我的尝试:

脚本:ConditionTest.sh

#!/bin/sh

a=10
b=20

if [ $a -ge $b ]
then
        exit 0
else
        exit 1
fi
    ....
    ....
    ....
Run Code Online (Sandbox Code Playgroud)

运行脚本

$ ./ConditionTest.sh
$ 
Run Code Online (Sandbox Code Playgroud)

注意:执行文件后,我没有得到任何返回值。

Kus*_*nda 5

Shell将最后一个命令的退出状态放入变量中?。您可以简单地检查它:

mycommand
echo $?
Run Code Online (Sandbox Code Playgroud)

...或者您可以根据其价值使用它来做其他事情:

mycommand && echo "ok" || echo "failed"
Run Code Online (Sandbox Code Playgroud)

或替代,并且更具可读性:

if mycommand; then
  # exit with 0
  echo "ok"
else
  # exit with non-zero
  echo "failed"
if
Run Code Online (Sandbox Code Playgroud)