與 IFS 分裂
為了更清楚,讓我們建立一個名為 showarg
的指令碼:
#!/usr/bin/env bash
printf "%d args:" $#
printf " <%s>" "$@"
echo
現在讓我們看看差異:
$ var="This is an example"
$ showarg $var
4 args: <This> <is> <an> <example>
$var
分為 4 個 args。IFS
是空白字元,因此在空格中發生了分詞
$ var="This/is/an/example"
$ showarg $var
1 args: <This/is/an/example>
在上面的單詞中沒有發生拆分,因為找不到
IFS
字元。
現在讓我們設定 IFS=/
$ IFS=/
$ var="This/is/an/example"
$ showarg $var
4 args: <This> <is> <an> <example>
$var
分為 4 個引數而不是單個引數。