ホームディレクトリではない特定のディレクトリで常にシェルを起動するにはどうすればよいですか


20

入れてみました

cd /Users/my_name/my_directory/structure

両方.bashrcで機能します.bash_loginが、どちらも機能しません。つまり、新しいターミナルウィンドウを開くと、ホーム(/ Users / my_name /)ディレクトリにいます。

エラーメッセージはありません。新しいターミナルウィンドウを起動するときに期待したとおりにディレクトリにcdするだけではありません。

回答:


5

Gerryが述べたように、.bashrcログインシェルでは読み取られません。ターミナルのデフォルトでは、新しいタブはログインシェルであり、iTerm 2はが.bash_login存在しない場合にのみ読み込まれます.bash_profile

cdコマンドを追加することもでき.bash_profileます。


38

まず、iTerm2をまだ使用していない場合は、Terminal.appの代替としてこの無料ソフトウェアをダウンロードすることをお勧めします。

他の多くの追加機能の中でも、iTerm Preferencesでは、新しいシェルのデフォルトの作業ディレクトリを設定できます。これらの設定は、プロファイル-一般にあります。

iTermのデフォルトの作業ディレクトリ

ここでの利点は、新しいウィンドウを開く場合と新しいタブを開く場合、または新しい分割ペインを作成する場合とでは異なる動作を設定できることです。個人的には、たとえば、分割ペインを追加するときに現在の作業ディレクトリにとどまることが好きです。

スタートアップスクリプトでも実行できます(ただし、iTermソリューションはよりクリーンで、少なくとも柔軟性があります)が、~/.bash_profile代わりに使用することをお勧めします。

~/.bashrcされていない新しいシェル・ウィンドウを開いたときに自動的に供給され、~/.bash_login何が場合にのみ供給されていない~/.bash_profile存在です。


1
私は常に.bash_profileから.bashrcを取得するので、どこからどちらが呼び出されたかを覚えておく必要はありません。
Cajunluke

@CajunLuke私は非常に似たようなことをします:github.com/gerryvdm/dotfiles
Gerry

作業ディレクトリの「ディレクトリ」フィールドを変更しても効果がない場合は、おそらくコマンドを「コマンド」から「ログインシェル」(ソース)に切り替える必要があります。
デュオズモ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.