[英]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.