2 番目のシェル /bin/bash をロードした後に実行できませんか?

2 番目のシェル /bin/bash をロードした後に実行できませんか?

グローバル変数 ( ) について説明しているシェル スクリプトのチュートリアルを読みました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

関連情報