Bash 读取捕获输出的命令的返回值
通常,当我想知道某个程序是否成功时,我会这样做:Bash 读取捕获输出的命令的返回值,bash,Bash,通常,当我想知道某个程序是否成功时,我会这样做: mycommand RTV=$? # check if RTV is 0 MYCOMMANDRES=$(mycommand) RTV=$? # check if RTV is 0 但是,如果我想在如下变量中捕获命令的输出,该怎么办: mycommand RTV=$? # check if RTV is 0 MYCOMMANDRES=$(mycommand) RTV=$? # check if RTV is 0 美元吗?仍然包含mycomm
mycommand
RTV=$?
# check if RTV is 0
MYCOMMANDRES=$(mycommand)
RTV=$?
# check if RTV is 0
但是,如果我想在如下变量中捕获命令的输出,该怎么办:
mycommand
RTV=$?
# check if RTV is 0
MYCOMMANDRES=$(mycommand)
RTV=$?
# check if RTV is 0
美元吗?仍然包含
mycommand
进程的返回值?是的,它会。请注意,这并不意味着“单纯赋值”不会修改赋值。比如说
false
x=5
echo $?
输出0,因为分配清除了状态,但是
x=$(printf 5;false)
echo $?
输出1。是。只需使用有效和无效的命令进行尝试,即可在$?。你有没有遇到什么问题?考虑一下BASH中的特殊参数:@拉希德。我确实这么做了,但我不知道这项任务是否会改变它