

シェルスクリプト内のcdコマンドで、カレントディレクトリを変えるにはどうしたらいいか?をどうか教えて下さい。
MS-DOSのバッチファイル内で"cd XXXXX"と書き実行した時の動作を、UNIX(CygWin)環境でも行いたいです。
が、シェルスクリプトは(サブシェルで動く為)カレントディレクトリが変わってくれません。aliasコマンド等でいろいろ実験しましたが、DOSバッチファイルのように「バッチファイル単体でディレクトリ移動が出来る方法」を探し出せませんでした。
極めて初歩的とは存じますが、どうか宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
カレントディレクトリはプロセスの属性なので、子プロセス内で変更しても親には影響しないというのはおわかりのようなので、親プロセスの中で実行すればいいわけです。
今実行しているシェルプロセスの中でスクリプトファイルに書かれたコマンド群を実行するには、ピリオドコマンドもしくはsourceコマンドを使います。
. スクリプトファイル名
か
source スクリプトファイル名
で実行してください。
別の方法としては、やりたいことをスクリプトファイルに書くのでなく、aliasや関数で定義するという方法もあります。
たとえば引数がディレクトリならそこにcdする関数は、
cddd() { test -d $1 && cd $1; }
と.bashrcなどで定義します。
No.2
- 回答日時:
DOSのバッチファイルとどうような処理をさせようとすると,sourceコマンドを使うことになるかと思います.
例えば,cdを含むスクリプトscr.sh を書いておいて,
source ./scr.sh
とやるとか.
(で,これをaliasで別名を割り振ることになるかと.その場合, scr.sh は絶対パスを指定する必要が出てきますが)
この回答への補足
期待通りになりました。どうも有難うございました。
が、No3の方がより単純な . の方法を教えてくださりました。
それを使おうと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) powershell で書いたプログラムでcd が動かない 5 2023/04/08 14:47
- Mac OS PATHを使ってcdなどで簡単に移動できるようになりたい 3 2023/05/13 14:22
- その他(プログラミング・Web制作) Pythonの作業環境・作業フォルダの迅速な設定・指定方法 3 2022/04/01 07:55
- Windows 10 WindowsUpdateで再起動を阻止したいです 3 2023/03/15 22:41
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
- その他(プログラミング・Web制作) Linuxについて質問です。 引数に指定されたアクセスログのファイルからアクセス数が多い順に上位3つ 1 2023/02/03 03:46
- 一眼レフカメラ 「Imaging Edge」を手動起動せず、ARWファイルを最高画質JPEGへ変換する方法は? 2 2022/08/05 11:38
- その他(開発・運用・管理) フォルダの中にファルダを作成してファイルを格納するバッチコマンド 1 2022/06/30 11:39
- Windows 10 バッチファイルでのエクスプローラー終了 1 2022/05/30 14:32
- Excel(エクセル) パスワード付きExcelブックについて 4 2022/06/02 21:34
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチ終了時にDOS窓を閉じるコ...
-
make test って何をするための...
-
シェルの「:コマンドが見つか...
-
findstrでヒットした1行前の文...
-
バッチファイル 文字列にスペ...
-
シェルスクリプト内のcdで、カ...
-
ftpコマンドを実行すると「425 ...
-
シェルスクリプト(.sh)で、10進...
-
powershellでlinuxのduコマンド...
-
SSH接続でwindowsサーバのコマ...
-
コンピュータ名をファイル名に...
-
VBA 特定文字含むファイル
-
WSHで他のバッチを呼びその終了...
-
FTPの連続実行でフリーズする
-
ftpコマンド出力結果の取得
-
コマンドプロンプトのERRORLEVE...
-
バッチえファイルを編集するに...
-
バッチファイルについて教えて...
-
Windowsのバッチ(bat)ファイル...
-
ショートカットをデスクトップ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチファイル 文字列にスペ...
-
バッチ終了時にDOS窓を閉じるコ...
-
コマンドプロンプトをクリック...
-
make test って何をするための...
-
findstrでヒットした1行前の文...
-
シェルの「:コマンドが見つか...
-
ショートカットをデスクトップ...
-
ftpコマンドを実行すると「425 ...
-
バッチファイルを使ってテキス...
-
Pythonで単純にファイルを結合...
-
フォルダ、ファイル操作に最適...
-
シェルスクリプト内のcdで、カ...
-
コンピュータ名をファイル名に...
-
DOSコマンドに詳しい方、お知恵...
-
SSH接続でwindowsサーバのコマ...
-
FTPの連続実行でフリーズする
-
ftpコマンド出力結果の取得
-
バッチファイルについて教えて...
-
2つ目の「pause」は無効?
-
バッチファイルでのMACアドレス...
おすすめ情報