シェルスクリプトでファイルを読み取り、後で使用できる変数に各行を割り当てるにはどうすればよいですか、、、(ファイルからデフォルト設定をロードする方法を考えています)
私はすでに試しています:
process (){
}
FILE=''
read -p "Please enter name of default file : " FILE
if [ ! -f $FILE ]; then
echo "$FILE : does not exists "
exit 1
elif [ ! -r $FILE ]; then
echo "$FILE : can not read "
fi
exec 0<"$FILE"
n=0
while read -r line
do
(assign each line to an variable)
done
承認された回答:
構成の目的で、構成ファイルのパラメーターをbash構文で定義し、後で. /path/to/config
。
例default.cfg :
parameter_a=100
parameter_b=200
parameter_c="Hello world"
例script.sh :
#!/bin/bash
# source the default configuration
. /path/to/default.cfg
echo $parameter_a
echo $parameter_b
echo "$parameter_c"
...
そのアプローチが気に入らない場合は、行を配列に読み込むこともできます:
while read line
do
array+=("$line")
done < some_file
アイテムにアクセスするには、${array[index]}
を使用します 例:
for ((i=0; i < ${#array[*]}; i++))
do
echo "${array[i]}"
done
(ここで${#array[*]}
は配列のサイズです。)
bashの配列について詳しくは、こちらをご覧ください。