質問: ### 環境変数にパスを追加後、任意のディレクトリに移動する /Users/[Username]/shellscript/ 上記の通りshellscriptというディレクトリを作成し、 .bash_profile内に下記の記述をしました。 export PATH=$PATH:/Users/[Username]/shellscript/ 次にshellscript内にcd000というファイルを作成ししました。 cd000内の記述は/Usersと同階層にあるWorkingディレクトリ内の000というディレクトリに移動するというものです。 ですが、cd000というコマンドを叩いても移動せず、ホームディレクトリに留まってしまいます。 この問題を解決したいです。 ### 発生している問題・エラーメッセージ ``` エラーメッセージ ``` ### 該当のソースコード ``` #!/bin/bash cd /Working/000 ``` ### 試したこと .zshrcを作成、下記を記述し実行 setopt AUTO_CD cdpath=(.. ~ ~/Working) ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答: シェルスクリプトはサブプロセスで実行されます。カレントディレクトリをサブプロセス内で変更しても、親のシェルには伝わりません。 シェルのカレントディレクトリを変更するには、そのシェル内で`cd`コマンドを実行する必要があります。 案1: `source`コマンド(ピリオドコマンド)で実行する。 `source cd000`もしくは`. cd000` 案2: エイリアスにする。`.bashrc`に`alias cd0000="cd /Working/000"`と書く。