2017-05-04 73 views
-3

对不起,这是一个非常简单的问题,我如何从shell脚本打印0?我的程序正在做一个数字的scanf,我想要脚本输入0.如何使用bash打印shell脚本的数字?

我试过echo 0,它似乎没有工作。

#!/bin/bash 
make clean 
ls -l 
cat udpserver.c 
make 
ls -l 
./udpserver 
sleep 2 
echo 0 | udpserver 
sleep 2 
echo 0 | udpserver 
+1

的可能的复制[发送字符串标准输入(http://stackoverflow.com/questions/6541109/send-string-to-stdin) –

+0

@BenjaminW。看到他编辑的问题,这不像重复一样简单。 – Barmar

+0

Don'ät垃圾标签。这与C无关。 – Olaf

回答

3

您不能使用管道将输入发送到之前启动的程序,您必须在启动程序时使用它。如果你想对它传递多个命令,把它们放在一个子shell中。

(sleep 2; echo 0; sleep 2; echo 0) | ./udpserver 
+0

或'(echo line1; echo line2)| yourProg'或'printf“line1 \ nline2 \ n”| yourProg' - 可能性几乎是无止境的:-) – paxdiablo

+0

@paxdiablo我没有提到,因为我说使用here-doc最适合多行。 – Barmar

+0

我不明白,我在哪里错了?下面是我的脚本: – sublimesummer