GNU/Linux >> Linux の 問題 >  >> Ubuntu

ファイルを配列に読み込みますか?

シェルスクリプトでファイルを読み取り、後で使用できる変数に各行を割り当てるにはどうすればよいですか、、、(ファイルからデフォルト設定をロードする方法を考えています)

私はすでに試しています:

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の配列について詳しくは、こちらをご覧ください。


Ubuntu
  1. パイプからシェル変数に値を読み込む

  2. ファイルにテキストを追加するにはどうすればよいですか?

  3. ノンブロッキング Get Character

  1. ファイル拡張子をクリーンアップする方法は?

  2. 別のファイルに書き込む方法は?

  3. tar:短い読み取り

  1. Linuxは配列を別々の変数に分割しますか?

  2. ファイルから変数を読み取る方法は?

  3. 読み取り専用のファイルシステムの問題?