我想用bash調用另一個shell腳本,但是此腳本不接受任何命令行參數。相反,它運行時,檢查了一些東西,然後提示這樣的用戶進行輸入:用bash調用另一個shell腳本並指定輸入
Checking....done
Please enter ID #: (user input here)
是否有可能做到這一點?
我想用bash調用另一個shell腳本,但是此腳本不接受任何命令行參數。相反,它運行時,檢查了一些東西,然後提示這樣的用戶進行輸入:用bash調用另一個shell腳本並指定輸入
Checking....done
Please enter ID #: (user input here)
是否有可能做到這一點?
嘗試這樣:
echo "My id" | ./script
Checking... done
Please enter ID: My id
或
./script << EOF
My_id
another input
EOF
Checking... done
Please enter ID: My_id
<blah>
Please enter something: anoter input
的解決方案是使用expect
。
#!/usr/bin/expect
spawn php /path/to/script
expect "ID #: "
send "{ID#}\r"
interact
如果你有一個輸入養活那麼呼應足夠喜歡,
回聲 「輸入」 | ./script.sh
,如果你有超過1個輸入然後期望是好的,唯一的選擇,
記錄如上所述,然後腳本運行
預計sampleexpect.expec
是你在尋找'read'命令嗎? – BMW
反向排序。我試圖調用的腳本是使用read命令來接收用戶輸入並相應地處理它。 – Bob