Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在bash中启动别名时获取状态_Bash - Fatal编程技术网

在bash中启动别名时获取状态

在bash中启动别名时获取状态,bash,Bash,我已经知道如何在bash脚本中使用别名。它们确实会被执行,但我不会在变量“Status”中返回结果。以下所有类型的启动别名都会在交互使用时返回结果,但无论是否使用“shopt-s expand_alias”,脚本中的“Status”都将保持为空: 有人对如何在bash脚本中获取变量“Status”的结果有一些提示和想法吗?反引号之间的命令,或者介于$(和)之间的命令。由shell扩展到命令输出。可以使用$检索退出状态?特殊变量 output=$(command ) # output=`c

我已经知道如何在bash脚本中使用别名。它们确实会被执行,但我不会在变量“Status”中返回结果。以下所有类型的启动别名都会在交互使用时返回结果,但无论是否使用“shopt-s expand_alias”,脚本中的“Status”都将保持为空:


有人对如何在bash脚本中获取变量“Status”的结果有一些提示和想法吗?

反引号之间的命令,或者介于
$(
)之间的命令。
由shell扩展到命令输出。可以使用$检索退出状态?特殊变量

output=$(command )    #  output=`command `  #old syntax
status=$?
否则,可以将标准输出和错误重定向到文件

command 1> output_file 2> error_file
status=$?
此外,如果只需要退出状态success,则可以使用逻辑运算符检查状态(退出状态==0表示成功,逻辑值为true)


反引号之间的命令,或
$(
之间的命令,由shell扩展为命令的输出。可以使用$检索退出状态?特殊变量

output=$(command )    #  output=`command `  #old syntax
status=$?
否则,可以将标准输出和错误重定向到文件

command 1> output_file 2> error_file
status=$?
此外,如果只需要退出状态success,则可以使用逻辑运算符检查状态(退出状态==0表示成功,逻辑值为true)


谢谢你的帮助和提示。主要问题是扩展别名(如start_ETAP-Cluster)无法正常工作。因此,在脚本中使用以下内容确实有帮助:

shopt -s expand_aliases
source ~/.bash_aliases
在我的代码中使用$Status是有误导性的,我将它改为$JobID,这更好地反映了我的需求。我在别名中使用web钩子,它返回一个带有作业id的JSON对象?同样有效。现在,代码在脚本中执行其工作:

$ JobID=$( ${BASH_ALIASES[start_ETAP-Cluster]} 2>/dev/null )
$ echo $JobID
{"JobIds":["8c54392c-363c-4e28-827e-a1384da7fd37"]}

下一步是将web钩子调用从别名移动到bash函数,这将给我比别名更大的灵活性。

感谢您的帮助和提示。主要问题是扩展别名(如start_ETAP-Cluster)无法正常工作。因此,在脚本中使用以下内容确实有帮助:

shopt -s expand_aliases
source ~/.bash_aliases
在我的代码中使用$Status是有误导性的,我将它改为$JobID,这更好地反映了我的需求。我在别名中使用web钩子,它返回一个带有作业id的JSON对象?同样有效。现在,代码在脚本中执行其工作:

$ JobID=$( ${BASH_ALIASES[start_ETAP-Cluster]} 2>/dev/null )
$ echo $JobID
{"JobIds":["8c54392c-363c-4e28-827e-a1384da7fd37"]}

下一步是将web钩子调用从别名移动到bash函数,这将比别名更灵活。

为什么要用java、python、r和scala标记它?是否要获取命令any_var=
start_ETAP-TestCluster 2>/dev/null
的退出状态?如果是,则可以使用status=$?在您的命令之后。为什么要用java、python、r和scala标记此命令?是否要获取命令的退出状态any\u var=
start\u ETAP-TestCluster 2>/dev/null
?如果是,则可以使用status=$?听从你的命令。