現在のディレクトリをプロジェクト ディレクトリに変更する小さなスクリプトを作成しようとしています。
#!/bin/bash
cd /home/tree/projects/java
このファイルを proj として保存し、 で実行権限を追加してchmod
にコピーしました/usr/bin
。 で呼び出してもproj
何も起こりません。何が間違っているのでしょうか?
ベストアンサー1
シェル スクリプトはサブシェル内で実行され、各サブシェルは現在のディレクトリが何であるかという独自の概念を持っています。これはcd
成功しますが、サブシェルが終了するとすぐに対話型シェルに戻り、そこでは何も変更されません。
この問題を回避する 1 つの方法は、代わりにエイリアスを使用することです。
alias proj="cd /home/tree/projects/java"