Bash > 区切り文字の変更

更新日 2014-10-19
広告

Bashで複数の文字列を配列として扱うとき、文字列の中に空白が含まれていると、そこで勝手に分割されてしまいます。 これは、Bashのデフォルトの区切り文字が「空白」だからです。 区切り文字を変更すれば、問題を解決できます。

Bashは区切り文字を"IFS"という特殊変数で管理しています。 つまり、IFSの値を変更すれば、区切り文字を変更できます。 以下は、区切り文字を、「改行文字」とするサンプルコードです。

IFS_BACKUP=$IFS # バックアップしておく。
IFS=$'\n'  # 区切り文字を変更

# 任意の処理

IFS=$IFS_BACKUP # 元に戻す。
スクリプトの最後に、IFSの値を元に戻しておいたほうが無難でしょう。
広告
お問い合わせは sweng.tips@gmail.com まで。
inserted by FC2 system