私はシェルスクリプトが初めてです。別のファイルを取得するシェル スクリプトがあります。別のファイルは、名前と値のペアを持つ単なるファイルです。ここで混乱しています。
test.dat
TEST_VARIABLE_PATH=/usr/project/workspace
スクリプト ファイル (test_script.sh)
TEST_VARIABLE_PATH=
source test.dat
echo ${TEST_VARIABLE_PATH}
上記の echo ステートメントは、私を混乱させるさまざまな値を出力します。1行目で、私が作るなら
TEST_VARIABLE_PATH=/somepath/
、 TEST_VARIABLE_PATH 変数が既に設定されている test.dat を入手しても、エコーは印刷のみです
TEST_VARIABLE_PATH=/somepath/
ファイルをソースしても変数は上書きされませんでした。
行1が次のようになっているとします
TEST_VARIABLE_PATH=\`dirname $0\`/../
、source コマンドが上書きされ、印刷がエコーされます
TEST_VARIABLE_PATH=/usr/project/workspace
このソースの動作が異なるのはなぜですか? 理解するのを手伝ってください。