グローバル変数 ( ) について説明しているシェル スクリプトのチュートリアルを読みましたexport
。シェル スクリプトにおけるグローバル変数の概念を説明する DIY の例を見つけたので、次のように試してみました。
$ cat trial
vech=Bus
echo $vech
/bin/bash
echo "before empty line"
echo $vech
echo "after empty line"
vech=Car
echo $vech
exit
echo $vech
このプログラムの予想される出力は次のとおりです。
Bus
before empty line
after empty line
Car
Bus
しかし、私は次のものを手に入れました:
$ chmod 777 trial
$ ./trial
Bus
$
どこが間違っているのでしょうか?私はこのフレーバーを初めて食べるので、助けてください。
答え1
これを試してみてヒアドキュメント:
vech=Bus
echo $vech
/bin/bash<<EOF
echo "before empty line"
echo $vech
echo "after empty line"
vech=Car
echo $vech
exit
EOF
echo $vech