2016-07-05 47 views
-1

後使用我的shell腳本的測試工作不低於內容:的處置如果調用shell腳本

read -s -n 1 -p "press enter to continue..." key 
if [[ $key = "" ]]; then 
    echo 'You pressed enter!' 
else 
    echo "You pressed '$key'" 
fi 

我打電話上面的腳本下面的腳本。但是,當我執行下面的腳本,然後它掛在輸入電平

#!/bin/bash 
/usr/bin/expect <<EOF 
spawn ./test.sh 
expect "Press enter to continue..." 
send "\r" 
EOF 
+0

學會使用http://shellcheck.net ** **之前您在這裏發表您的代碼;-)。祝你好運。 – shellter

回答

1

解答: 你在你的if語句忘了then

BTW:
您可以使用REPLY變量,像這樣:

#!/bin/bash 
read -r -n 1 -p "press enter to continue..." 
if [[ $REPLY = "" ]] ; then 
    echo 'You pressed enter!' 
else 
    echo "You pressed '$REPLY'" 
fi 
+0

然後在打字時錯過了。我從shell腳本B調用shell腳本A. Shell腳本A在執行期間需要用戶輸入。所以我想用期望來提供用戶輸入。 –

+0

我不明白你使用'expect'是什麼意思?如果在我的示例中添加'then'之後,您的腳本應該可以工作。 – lewiatan