ファイル内の変数を変更する方法

ファイル内の変数を変更する方法

次のような設定ファイルがあります:

# Default LIST="nil"
LIST="element1 element2 element3"

シェル スクリプトから LIST を変更する最も簡単な方法は何でしょうか?

答え1

使用sed

sed -i 's/LIST\=.*/LIST="element4 element5"/' config_file

コメントされていない場合にのみ LIST を更新する場合は、^(行頭) を追加します。

sed -i 's/^LIST\=.*/LIST="element4 element5"/' config_file

答え2

承認されたものと同じ回答ですが、すぐに使用できます。脚本誰かの役に立つかもしれないので:

#! /bin/bash
#  (GPL3+) Alberto Salvia Novella (es20490446e)


modifyVariableInFile () {
    variable="${1}"
    content="${2}"
    file="${3}"

    if [ ! -f "${file}" ]; then
        echo "modifyVariableInFile: file doesn't exist: ${file}"
        exit 1
    fi

    sed -i "s/^${variable}\=.*/${variable}=\"${content}\"/" "${file}"
}


modifyVariableInFile ${@}

関連情報