亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1085 | 回復: 0
打印 上一主題 下一主題

對于IFS的一點總結 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2009-07-21 13:10 |只看該作者 |倒序瀏覽
在編寫shell腳本的時候,時常會碰到IFS變量,但我對于具體的使用和設置常常比較模糊,今天花了一點時間googel和實驗了一下,總結如下:
(1)什么是IFS ?
IFS是bash的內部變量,稱為內部域分隔符.這個變量用來決定Bash在解釋字符串時如何識別域,或者單詞邊界.
(2)如何查看當前的IFS值?
tekkaman@tekkaman-desktop:~/working/abs_test/IFS$ echo "$IFS"
由于IFS默認為空白(空格,tab和新行),所以使用以上的命令似乎看不到字符。沒關系,你可以用od命令看16進制,或是2進制值:
tekkaman@tekkaman-desktop:~/working/abs_test/IFS$ echo "$IFS" | od -t x1
0000000 20 09 0a 0a
0000004
注意:$*使用$IFS 中的第一個字符,比如:
tekkaman@tekkaman-desktop:~/working/abs_test/IFS$ set w x y z;echo "$*"
w x y z
(3)如何修改IFS值?
普通的賦值命令即可:
tekkaman@tekkaman-desktop:~/working/abs_test/IFS$ IFS=":"
tekkaman@tekkaman-desktop:~/working/abs_test/IFS$ echo "$IFS"
:
tekkaman@tekkaman-desktop:~/working/abs_test/IFS$ echo "$IFS" | od -t x1
0000000 3a 0a
0000002
tekkaman@tekkaman-desktop:~/working/abs_test/IFS$ set w x y z;echo "$*"
w:x:y:z
(4)實驗:$*使用$IFS 中的第一個字符
tekkaman@tekkaman-desktop:~/working/abs_test/IFS$ IFS="\\:;"
tekkaman@tekkaman-desktop:~/working/abs_test/IFS$ echo "$IFS"
\:;
tekkaman@tekkaman-desktop:~/working/abs_test/IFS$ echo "$IFS" | od -t x1
0000000 5c 3a 3b 0a
0000004
tekkaman@tekkaman-desktop:~/working/abs_test/IFS$ set w x y z;echo "$*"
w\x\y\z
tekkaman@tekkaman-desktop:~/working/abs_test/IFS$ IFS=":;\\"
tekkaman@tekkaman-desktop:~/working/abs_test/IFS$ echo "$IFS"
:;\
tekkaman@tekkaman-desktop:~/working/abs_test/IFS$ echo "$IFS" | od -t x1
0000000 3a 3b 5c 0a
0000004
tekkaman@tekkaman-desktop:~/working/abs_test/IFS$ set w x y z;echo "$*"
w:x:y:z
(5)備份IFS
tekkaman@tekkaman-desktop:~/working/abs_test/IFS$ echo "$IFS" | od -t x1
0000000 20 09 0a 0a
0000004
tekkaman@tekkaman-desktop:~/working/abs_test/IFS$ OLDIFS="$IFS"
tekkaman@tekkaman-desktop:~/working/abs_test/IFS$ echo "$OLDIFS" | od -t x1
0000000 20 09 0a 0a
0000004
tekkaman@tekkaman-desktop:~/working/abs_test/IFS$ IFS=":"
tekkaman@tekkaman-desktop:~/working/abs_test/IFS$ echo "$IFS" | od -t x1
0000000 3a 0a
0000002
tekkaman@tekkaman-desktop:~/working/abs_test/IFS$ IFS="$OLDIFS"
tekkaman@tekkaman-desktop:~/working/abs_test/IFS$ echo "$IFS" | od -t x1
0000000 20 09 0a 0a
0000004
參考資料:
《[精彩] 關于IFS的疑問》
         《ABS 3.7.2中文版》翻譯:楊春敏 黃毅



本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u1/34474/showart_2002264.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP