[英]Get exit status of piped commands in Shell
我得到了一个提示输入密码的脚本。 为此,我使用echo <password> | script.sh
我的其他脚本中的echo <password> | script.sh
,以便用户在开头输入密码,并且不再提示输入密码。
我想知道echo <password> | script.sh
的退出状态。 echo <password> | script.sh
命令。 我尝试过status=echo <password> | script.sh; echo $status
status=echo <password> | script.sh; echo $status
status=echo <password> | script.sh; echo $status
但这只是换行符。 也echo echo<password> | script.sh
echo echo<password> | script.sh
无法正常工作。
默认情况下,管道命令的退出状态是管道的最后一条命令的退出状态。
# returns 0 = SUCCESS
false | true ; echo $?
# returns 1 = FAILED
true | false ; echo $?
因此,请检查您的情况下的退出状态:
echo 'password' | script.sh
status=$?
# example
if [[ $status = 0 ]]; then
echo "SUCCESS"
else
echo "FAILED $status"
fi
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.