【使用例紹介】区切り文字:$IFS【シェルスクリプト】
備忘録になります。for文に渡すリストの区切り文字等、環境変数$IFSが参照されます。環境に依りますが、$IFSのデフォルトの内容はスペース、タブ、改行が基本のようです。
自環境の$IFSの内容を確認
$ echo $IFS | sed 's/^/[start]/g' | sed 's/$/[end]/g' | sed 's/\t/<tab>/g' | sed 's/ /<space>/g'
[start]<space><tab>[end]
[start][end]
私の環境では$IFSにスペース、タブ、改行の順に記載されていました。
$IFSの内容を変更する
例えば、区切り文字を”,(カンマ)”に変更する場合は以下のようにします。
$ cat ./wrk.sh
LIST="AAA,BBB,CCC"
IFS=‘,’
for VALUE in $LIST; do
echo $VALUE
done
$ ./wrk.sh
AAA
BBB
CCC
関連リンク