是否可以返回在bash中动态获取的代码?

时间:2015-11-06 05:13:56

标签: linux bash shell

假设我有一个重要的bash脚本,并且我希望该脚本的返回代码是计算的数量。有没有办法做到这一点?

我知道bash变量在技术上是无类型的,但是"类似字符串",而exit不能使用"字符串"作为一个论点。

我也意识到bash返回代码只能在0-255范围内,并且愿意接受翻转的后果,即计算256件事会给出返回代码0

我认为我正在寻找内置的程序或其他bash,当给定变量时,返回代码的数值等于"绳状"存储在该变量中的数字,这将允许我这样做:

#/bin/bash

$count=0
count_stuff    

command_to_turn_var_into_return_code $count

1 个答案:

答案 0 :(得分:2)

嗯,是的 - 你可以写exit "$count"。但在你的情况下,你不应该这样做。这并不意味着如何使用退出状态,因此它会导致与通常了解退出状态的事物的交互出现问题。

相反,您应该打印您的结果(使用echoprintf),以便可以通过命令替换,管道传输到其他命令等来捕获它。 / p>

  

我知道[...]退出不能接受"字符串"作为一个论点。

这根本不是真的。当然,退出状态必须是一个数字,但是数字是字符串形式没有问题。 (Bash命令的参数总是以字符串形式。)