保留退出代码或使用 Bash 将其分配给变量的最佳方法是什么?
What's the best way to preserve an exit code or assign it to a variable with Bash?
我正在尝试将 运行 psql
的退出代码保存在 shell 脚本中。假设在此代码段之前的 psql
命令是错误的,我希望此代码段 return 除了 1
之外的任何东西,它最初是这样做的。但是当我将它分配给 exitcode
然后 echo
它时, returned 值是 0
...
$ echo $?
1
$ exitcode=$?
$ echo 'simply'
simply
$ #echo $?
0
$ #echo 'coding'
coding
$ echo $exitcode
0
我正在尝试让变量 exitcode
像第一行那样打印或回显 1。我该怎么做?
第二次打印$?
时,不是上一个命令的退出代码。
您需要在 运行 任何其他命令之前立即将 $?
分配给 exitcode
。
即
$ psql
$ echo $?
1
$ exitcode=$?
应该是
$ psql
$ exitcode=$?
为了保留 psql
的退出代码。
我正在尝试将 运行 psql
的退出代码保存在 shell 脚本中。假设在此代码段之前的 psql
命令是错误的,我希望此代码段 return 除了 1
之外的任何东西,它最初是这样做的。但是当我将它分配给 exitcode
然后 echo
它时, returned 值是 0
...
$ echo $?
1
$ exitcode=$?
$ echo 'simply'
simply
$ #echo $?
0
$ #echo 'coding'
coding
$ echo $exitcode
0
我正在尝试让变量 exitcode
像第一行那样打印或回显 1。我该怎么做?
第二次打印$?
时,不是上一个命令的退出代码。
您需要在 运行 任何其他命令之前立即将 $?
分配给 exitcode
。
即
$ psql
$ echo $?
1
$ exitcode=$?
应该是
$ psql
$ exitcode=$?
为了保留 psql
的退出代码。