ソースコマンドで使用する次のbashスクリプト(「env.bash」という名前)があります。
#!/bin/bash
FOO=/some/path
次に、次のbashスクリプト(「compile.bash」という名前)があります。
#!/bin/bash
if [ -z "$FOO" ]; then
echo "Need to set FOO, did you forget to source env.bash?"
exit 1
fi
./compile-something
ただし、私がそうする場合:
source env.bash
./compile.bash
「FOOを設定する必要があります」というメッセージが表示されるのはなぜですか。$ FOOをエコーすると、その値がうまく表示されます。