对不起,这是一个非常简单的问题,我如何从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
对不起,这是一个非常简单的问题,我如何从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
您不能使用管道将输入发送到之前启动的程序,您必须在启动程序时使用它。如果你想对它传递多个命令,把它们放在一个子shell中。
(sleep 2; echo 0; sleep 2; echo 0) | ./udpserver
或'(echo line1; echo line2)| yourProg'或'printf“line1 \ nline2 \ n”| yourProg' - 可能性几乎是无止境的:-) – paxdiablo
@paxdiablo我没有提到,因为我说使用here-doc最适合多行。 – Barmar
我不明白,我在哪里错了?下面是我的脚本: – sublimesummer
的可能的复制[发送字符串标准输入(http://stackoverflow.com/questions/6541109/send-string-to-stdin) –
@BenjaminW。看到他编辑的问题,这不像重复一样简单。 – Barmar
Don'ät垃圾标签。这与C无关。 – Olaf