我有一个#!/ 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