Bashで区切り文字を変更する
Bashで複数の文字列を配列として扱うとき、文字列の中に空白が含まれていると、そこで自動的に分割される。
これは、Bashのデフォルト区切り文字が「空白」となっている為。
Bashは区切り文字を’IFS’という特殊変数で管理している。
つまり、’IFS’の値を変更すれば、区切り文字を変更できる。
以下は、区切り文字を「改行コード」とするサンプル。
1 2 3 4 5 6 7 8 9 10 | # 区切り文字のバックアップを取得 IFS_BACKUP=$IFS # 区切り文字を変更 IFS=$'\n' # 任意の処理を実行 # 区切り文字を元に戻す IFS=$IFS_BACKUP |
スクリプトの最後に、’IFS’の値を元に戻しておく。