2011-12-09 7 views

答えて

6

変数$ IFSを改行に設定する必要があることが分かります。

IFSがデフォルト以外の値を持っている場合、 空白文字の配列」:エヘン、これは私がやったことであり、それは

$ read x 
hello world 
$ echo $x"testing" 
hello worldtesting 
$ IFS='\n' 
$ read x 
hello world 
$ echo $x"testing" 
hello world testing 

マニュアルが言う働いていた、と私は引用します空白文字がIFS(IFS空白文字)の の値である限り、最初に と単語の終わりで無視されます。

出典:info on read itself & info on word splitting

+0

うわー、それは素晴らしいです...ありがとう! – kristopolous

+1

IFSをプレフィックスとして設定することで、IFSを読み取りコマンドに対してのみ設定する方がよい(これはIFSに依存する他のものを混乱させない)。また、IFSをnullに設定することもできます: 'IFS = read x' –

関連する問題