我有一個bash腳本,我主要在交互模式下使用。但是,有時我會在腳本中輸入一些內容。在循環中處理stdin之後,我使用「-i」(交互式)複製文件。然而,這從來沒有得到執行(在管道模式),因爲(我猜)標準輸入沒有被刷新。與一個示例簡化:bash:沖洗標準輸入(標準輸入)
#!/bin/bash
while read line
do
echo $line
done
# the next line does not execute
cp -i afile bfile
地點這t.sh,並與執行: LS | ./t.sh
讀取未執行。 我需要在讀取之前刷新stdin。它怎麼能這樣做?
+1,但我會用$(TTY)代替的/ dev/tty設備。 – mouviciel 2010-06-18 08:06:57
@mouviciel nope,$(tty)不起作用。試試吧) – unbeli 2010-06-18 08:10:33
@mouviciel:爲什麼? – 2010-06-18 08:13:08