對不起,這是一個非常簡單的問題,我如何從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