日期:2014-05-16  浏览次数:20841 次

如何定义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的角色。
如果用黑粉筆在黑板上寫字,你什麼也看不到。