如何定义shell的IFS?
我作了一下测试,在终端中输入:
echo $IFS
输出一条空行
IFS=:
echo $IFS
还是一条空行(本以为会输出一个‘:’)
IFS=“:”
echo $IFS
还是一条空行(本以为会输出一个‘:’)
IFS=$":"
echo $IFS
还是一条空行(本以为会输出一个‘:’)
究竟如何才可以改变IFS的值?请高手指教,非常感谢!
------解决方案--------------------
你已經改變了IFS的值!
試試下面的例子:
$ IFS=:
$ a=Hello:World
$ echo $a
輸出的結果是:
Hello World
而不是:
Hello:World
因為:現在起隔離作用,而不是普通的冒號。
如果:
$ echo $IFS
輸出的是冒號,那麼:相當於沒有起到任何隔離作用。
想象一下,用白粉筆在黑板上寫字。之所以能看見白色的字,是因為黑色扮演了IFS的角色。
如果用黑粉筆在黑板上寫字,你什麼也看不到。