リストファイルは以下の通りとする。
cat listfile.lst
/home/user/file,10.0.1.3
以下のようにするとリストファイルを , (カンマ)区切りで読み込んで、1つ目(/home/user/file)をFILEに代入、2つ目(10.0.1.3)をIPに代入してくれる。
while IFS=, read FILE IP
do
処理
done < listfile.lst
IFS=$’ \t\n’ ←IFSをデフォルトに戻す(スペース、タブ、改行)
ちなみにsetコマンドを使用する方法もある。setコマンドを以下のように使うと、$LINEを環境変数IFSのデフォルト値を区切り文字として、位置パラメータ($1、$2、$3〜)に代入される。
while read LINE
do
set $LINE
処理
done < listfile.lst
個人的には先に紹介した方法のほうが変数名を指定できるため、処理を追いやすいのでおすすめです。
コメント