回答:
あなたはsource
あなたのスクリプトが必要です。そうでない場合は、別のサブシェルで実行され、サブシェルの作業ディレクトリを変更しますが、実行したシェルは変更しません。
それを調達するには:
. myfile.sh
または
source myfile.sh
exec bash
最後に使うbashスクリプトは、現在の環境またはその子の環境で動作しますが、親の環境では動作しません。
ただし、別のディレクトリからbashスクリプトを実行した後、特定のディレクトリのbashプロンプトが表示されたままになるため、この質問がよく寄せられます。
この場合は、スクリプトの最後で子bashインスタンスを実行するだけです。
#!/bin/bash
cd /home/user/somedir
exec bash