Shell-Script

如何在期望條件下在Shell腳本中的if語句下執行命令?

  • January 9, 2019
send "if [ `ps -ef | grep ttyS1 | sed -n 1p | cut -d ' ' -f 2` -eq 'ttyS1' ]; then
not_found='false'
else 
not_found='true'
fi\r"

我在 ttyS1 下也嘗試過多次使用雙引號和單引號,但它顯示 1)ttyS1:未知操作數 2)雙引號的錯誤編號

您使用-eqwhich 來比較數字。當你=比較字元串時

send "if [ `ps -ef | grep ttyS1 | sed -n 1p | cut -d ' ' -f 2` = 'ttyS1' ]; then
not_found='false'
else 
not_found='true'
fi\r"

您可以使用雙引號,因為它們已經被使用過。您也可以留下不ttyS1帶任何引號的字元串

引用自:https://unix.stackexchange.com/questions/493394