我正在使用'ar'在shell脚本中构建存档文件。我如何检查它是成功还是失败?如何在shell脚本中检查ar的返回值?
回答
从man ar
:
的AR程序返回0表示成功,并且如果发生错误> 0。
换句话说:它表现出标准的行为。
检查的各种方式(ar ...
代表特定ar
命令):
ar ... || { echo "Failure" 1>&2; exit 1; }
# ---
if ! ar ...; then # act on failure
# ---
# Note: $? is a special variable containing the *most recently executed*
# command's exit code.
ar ... ; ar_status=$?
if ((ar_status != 0)); then # act on failure
明确的答案,但我建议你明确提到$?是保存最后命令结果的shell变量,用于每个命令。 – ChuckCottrill
@ChuckCottrill同意,值得一提的是,'$?'被严重过度使用;最佳实践是在成功/失败的情况下进行分支,而不必在可能的情况下明确存储或检查。 –
谢谢!完美的作品 – Diaz
$?
用于执行最后一个命令的返回代码。
您不需要任何特定的ar
来捕获该信息。
- 1. 如何从python脚本中的shell脚本返回值
- 2. 如何从perl脚本中的shell脚本返回值
- 3. 如何将Mongodb js的返回值返回给shell脚本
- 4. 在父脚本中访问由shell脚本返回的值
- 5. 检查unix shell脚本中psql命令的返回状态
- 6. 如何在Linux shell脚本中显示nc返回值?
- 7. 如何在shell脚本中只用sql返回值?
- 8. 如何在shell脚本函数中返回值?
- 9. AWK:返回shell脚本的值
- 10. 如何检查shell脚本中的空值
- 11. 捕获返回值到shell脚本
- 12. 在shell脚本中返回命令
- 13. 如何检查mysql查询在shell脚本中是成功的
- 14. 如何在shell脚本中返回本地用户?
- 15. 如何将shell脚本的值返回给rails?
- 16. Shell脚本 - CURL脚本返回错误
- 17. 如何在shell脚本中存储由循环返回的数组中的值?
- 18. 通过shell脚本检查C++可执行文件的返回值
- 19. 将子shell脚本的值返回给父脚本
- 20. 在shell脚本中检查$ ORACLE_HOME var
- 21. 如何在shell脚本中获取make的返回码?
- 22. 在循环shell脚本中获取函数的返回值
- 23. 在shell脚本中返回大于255的值吗?
- 24. 在shell脚本函数中返回的值不会超过255
- 25. 用于在shell脚本中返回多个值的成语
- 26. 在shell脚本中获取进程的返回值
- 27. 如何检查shell指令的返回值
- 28. 从另一个脚本获取shell脚本并检查返回代码
- 29. 如何检索shell脚本
- 30. shell脚本 - 检查语法
快速搜索将产生很多很多的结果,如[此](http://www.cyberciti.biz/faq/例如,shell-how-to-determine-the-exit-status-of-linux-and-unix-command /)。 – vanza