2013-12-15 211 views
0

我有一個#!/ bin/sh腳本,詢問用戶問題,例如輸入你的年齡。 我需要另一個#!/ bin/sh腳本來啓動第一個腳本併發送靜態答案。 如何將答案從一個腳本發送到另一個腳本並回答問題。腳本運行另一個腳本

謝謝。

+0

在另一個調用sh scipt就像從提示中調用腳本...也許我錯過了一些東西,或者您必須改善您的問題/需求... – user2196728

+0

您需要預期,它會提供給您的腳本取決於來自它的輸入。 – michael501

回答

0

如果要測試的腳本讀取標準輸入,則使用該輸入。

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工具經常被設計爲從命令行讀取參數。這是更好的設計的許多原因之一。

0

讓我們把一個要求輸入腳本,userage.sh和調用腳本caller.sh

如果你想userage.sh採取輸入,無需用戶提示,重做,這樣,如果沒有參數,接受用戶輸入,如果有參數,則將這些參數作爲輸入。

相關問題