【发布时间】:2017-06-19 17:54:30
【问题描述】:
我已经弄清楚如何在 bash 脚本中使用别名。他们确实被执行了,但我没有在变量“状态”中得到结果。以下所有启动别名的类型在交互使用时都会返回结果,但无论我是否使用“shopt -s expand_aliases”,脚本中的“状态”都保持为空:
$ Status=`start_ETAP-TestCluster 2>/dev/null`
$ echo $Status
{"JobIds":["8c54392c-363c-4e28-827e-a1384da7fd37"]}
$ Status=`${BASH_ALIASES[start_NetIntel-Cluster]} 2>/dev/null`
$ echo $Status
{"JobIds":["dd05f5cb-a490-4fe3-b4fd-be61f62bbb88"]}
$ eval Status=`${BASH_ALIASES[start_NetIntel-Cluster]} 2>/dev/null`
$ echo $Status
{JobIds:[25a246ab-e5f5-4d65-80ea-4ff5e15cc02c]}
$ eval $(echo Status=`${BASH_ALIASES[start_NetIntel-Cluster]} 2>/dev/null`)
$ echo $Status
{JobIds:[4ce2f4e5-0599-47f5-b7f4-cd2ec1de9909]}
有没有人有一些提示和想法如何在 bash 脚本中的变量“状态”中获取结果?
【问题讨论】:
-
为什么用 java、python、r 和 scala 标记?
-
是否要获取命令 any_var=
start_ETAP-TestCluster 2>/dev/null的退出状态?如果是,那么您可以使用 status=$?在你的命令之后。
标签: bash