Bash
暫停執行命令列表
我有一個包含 bash 命令列表的文件,如下所示:
echo 'foobar' echo 'helloworld' echo 'ok'
我可以通過簡單地將它們管道化來執行這些命令
/bin/bash
:cat commands | /bin/bash
現在,我如何在中間暫停執行,並等待使用者輸入?使用
read
似乎不起作用。echo 'foobar' echo 'helloworld' read -p 'Press ENTER to continue' echo 'ok'
像這樣執行:
/bin/bash commands
通過管道傳輸文件以
bash
使文件通過bash
. 在這種情況下read
,從標準輸入讀取,從管道流而不是從終端讀取。它消耗echo 'ok'
. 通過將文件指定為參數,bash
您仍然可以執行它,但這次 stdin 不會被重定向。我假設你想這樣執行。比較running
bash script.sh
和 和有什麼不一樣./script.sh
?