1. ホーム
  2. bash

[解決済み] シェルスクリプトで 'cd' を実行し、スクリプトが終了した後もそこにとどまるには?

2023-07-24 11:07:38

質問

シェルスクリプト(bash)で'change directory'を使いました。

#!/bin/bash
alias mycd='cd some_place'
mycd
pwd

pwd プリント some_place を正しく表示しますが、スクリプトが終了した後、現在の作業ディレクトリは変更されません。

スクリプトによって私のパスを変更することは可能ですか?

どのように解決するのですか?

というファイルをソースにする必要があります。

. myfile.sh

または

source myfile.sh

ソースしない場合、変更はサブシェルで行われ、スクリプトを呼び出している親シェルでは行われません。しかし、ファイルをソースすると、ファイル内の行はコマンドラインで入力されたかのように実行されます。