Echo
如何在命令行中為 .sh 提供輸入
我有腳本 abc.sh,它向使用者顯示了 4 個選項和我們需要選擇的 1 個選項。起初,我們將輸入作為 1 - 表示第一個選項現在它會再次顯示 3 個選項,我必須選擇 1 - 表示第二個選項。現在此時它會詢問域名,我需要提供 abc/abc@xyz - 作為第三個選項。現在,它會詢問 ENV 詳細資訊,我需要提供 ENV_NO。所以像這樣我想給現有的腳本 abc.sh 提供 4 個不同的輸入。那麼我們如何在 abc.sh 的單個命令中自動提供上述輸入。我們不想編輯現有 abc.sh 中的任何內容
您有一個從其標準輸入中讀取四項內容的現有程序,並且您希望在不與它實際互動的情況下向該程序提供輸入。
您可以準備一個
input.txt
如下所示的文本文件 ( )(數據取自您的問題文本):1 1 abc/abc@xyz ENV_NO
然後,您可以像這樣執行您的腳本:
$ ./abc.sh <input.txt
這將使腳本以互動方式從文件中讀取,而不是從鍵盤讀取。腳本的任何輸出仍將顯示在終端上(如輸入問題),但輸入將從給定文件中讀取。
除了文件,您還可以使用 here-document:
./abc.sh <<END_INPUT 1 1 abc/abc@xyz ENV_NO END_INPUT