1
私のGoogle-fuはここで失敗しています。Bashの組み込み "read"コマンドでは、空白を入力として受け入れる方法はありますか
「hello world」のトークンを持っていて、それをbashの組み込み読み込みのstdinとして使用すると、末尾の空白が切り捨てられます。それを維持する方法はありますか?
私のGoogle-fuはここで失敗しています。Bashの組み込み "read"コマンドでは、空白を入力として受け入れる方法はありますか
「hello world」のトークンを持っていて、それをbashの組み込み読み込みのstdinとして使用すると、末尾の空白が切り捨てられます。それを維持する方法はありますか?
変数$ 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空白文字)の の値である限り、最初に と単語の終わりで無視されます。
うわー、それは素晴らしいです...ありがとう! – kristopolous
IFSをプレフィックスとして設定することで、IFSを読み取りコマンドに対してのみ設定する方がよい(これはIFSに依存する他のものを混乱させない)。また、IFSをnullに設定することもできます: 'IFS = read x' –