我有一個#!/ bin/sh腳本,詢問用戶問題,例如輸入你的年齡。 我需要另一個#!/ bin/sh腳本來啓動第一個腳本併發送靜態答案。 如何將答案從一個腳本發送到另一個腳本並回答問題。腳本運行另一個腳本
謝謝。
我有一個#!/ bin/sh腳本,詢問用戶問題,例如輸入你的年齡。 我需要另一個#!/ bin/sh腳本來啓動第一個腳本併發送靜態答案。 如何將答案從一個腳本發送到另一個腳本並回答問題。腳本運行另一個腳本
謝謝。
如果要測試的腳本讀取標準輸入,則使用該輸入。
for input in 1 2 17 42 63 -1 0 1234568890; do
echo "$input" | ./otherscript
done
或者,如果你otherscript
已經運行的輸入迴路(比方說,一個空輸入作爲退出條件),給它一個在這裏的文件:如果您需要輸入多個值
./otherscript <<HERE
1
2
17
42
63
-1
0
1234567890
HERE
每運行一次,就可以將兩者結合起來;
while read age name color; do
(echo "$age"; echo "$name"; echo "$color") | ./otherscript
done <<HERE
1 Baby white
2 Sister yellow
17 Teen black
42 Dad mauve
63 Grandpa chartreuse
0 Piglet pink
-1 Prince purple
1234567890 Ghod rainbowey
HERE
儘管如此,Unix工具經常被設計爲從命令行讀取參數。這是更好的設計的許多原因之一。
讓我們把一個要求輸入腳本,userage.sh和調用腳本caller.sh
如果你想userage.sh採取輸入,無需用戶提示,重做,這樣,如果沒有參數,接受用戶輸入,如果有參數,則將這些參數作爲輸入。
在另一個調用sh scipt就像從提示中調用腳本...也許我錯過了一些東西,或者您必須改善您的問題/需求... – user2196728
您需要預期,它會提供給您的腳本取決於來自它的輸入。 – michael501