在环境变量中定义二进制程序。当运行“set”时,我看到CHECK_MASTER=/usr/local/bin/CHECK_MASTER。
在终端中,运行$CHECK_MASTER,我们可以看到终端上显示0或1。
在shell脚本中,我可以运行/usr/local/bin/check|master|tee/dev/tty,结果显示在终端上,即0或1。
问题:
(1)如何从执行/usr/local/bin/check_master得到结果,并将结果分配给shell脚本中类似$VAR的变量?
(2)与(1)类似,如何使用$CHECK_MASTER而不是在shell脚本中使用文件路径?
我已经尝试重定向stdout,stderr,VAR=$($CHECK_MASTER)。它们都不起作用。

最佳答案

从这个问题看来,check_master将向stderr发送0或1。将stderr重定向到stdout应有助于:

CHECK_MASTER=...
VAR=$($CHECK_MASTER 2>&1)

10-08 07:56