我的Google-fu在这里让我失望。
如果我有一个“hello world”的标记,然后将它用作bash的内置读取的stdin,我将截断尾随空格。有没有办法保留它?
答案 0 :(得分:6)
原来你必须将变量$ IFS设置为换行符。这就是我所做的,它起作用了
$ read x
hello world
$ echo $x"testing"
hello worldtesting
$ IFS='\n'
$ read x
hello world
$ echo $x"testing"
hello world testing
手册说,我引用,哼哼:
如果IFS的值不是默认值,则序列为 空格字符“space”和“Tab”在开头被忽略 只要空白字符在 IFS的值(IFS空白字符)。
资料来源:info on read itself& info on word splitting