2013-05-17 51 views
-2

我對使用讀命令非常困惑。有人可以向我解釋這個嗎?例如,如果我有:使用讀命令

稱爲script的可執行文件,其中包含

read first second 
echo $first 
echo $second 

和你叫它:

 
echo This is a line of input | ./script 

會發生什麼,爲什麼?我不能讓它的工作和事情是應該顯示

+0

http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_08_02.html – abasu

+0

還學會了現在放置雙引號而不是稍後插入。這裏沒關係,但很快就會。 'echo「$ first」' – tripleee

回答

0

運行help read給出了這樣的信息:

線被分成領域與分詞,和第一 字被分配到第一個姓名,第二個字到第二個 姓名等,剩下的單詞分配給最後一個姓名。

所以這裏發生了什麼是第一個字被分配給變量$first,輸入行的其餘部分分配給最後一個變量$second

如果要保留$first中的第一個單詞並在$second中保留第二個單詞,請嘗試添加一個$third變量。

+0

啊,謝謝。所以這意味着什麼都沒有顯示在顯示器後,正確? – Rahat

+0

'所以這意味着什麼都沒有顯示在顯示器後,正確嗎? – abasu

+0

@Rahat:在你的例子中,它應該在一行上打印「This」,然後在第二行打印「是一行輸入」。如果沒有這樣做,有些事情是錯誤的,但我們需要更多信息來解決它。 –