Ubuntuで非ログインシェルを開くと、現在の作業ディレクトリは/home/user_name
(俺の $HOME
環境変数)、ただし、端末を起動したときに他のディレクトリに移動するように変更したいと思います。
私は、Ubuntuで端末を起動したときに.bashrc
ファイルのソースです。だから私は追加しました
export HOME=/home/user_name/Documents
わたしの .bashrc
ファイル。さて、ターミナルを開いても/home/user_name
ディレクトリ。
どうすれば変更できますか?
まず、その行を.bashrc
から削除します。これを行う方法は、$HOME
を操作することではありません。その変数は常にホームディレクトリを指し、シェルを別の場所で開始するために変更する必要はありません。
これを行うためのよりエレガントな方法があると確信していますが、一時的な回避策として、この行を.bashrc
に追加するだけです。
cd ~/Documents
そのファイルは、新しい非ログインシェルを起動するたびに読み込まれるため(新しいターミナルを開く)、cd
コマンドが実行され、ターミナルは~/Documents
から開始します。
端末は、親から継承した作業ディレクトリで起動します。
ただし、構成設定で上書きできるものもあります。
gnome-terminal
、あなたのプロフィールを編集し、私のシェルの代わりにカスタムコマンドを実行にチェックを入れて、それを作ることができます:
sh -c 'cd ~/Documents; exec "${Shell:-sh}"'
.bashrc
ファイルがどこにあるかを確認している人にとっては、通常、ホームディレクトリの隠しファイルです。
ターミナルを開き、ホームディレクトリに移動して、次の手順を実行します。
ls -al
すべての隠しファイルを表示します。これで、.bashrc
ファイルを確認できるようになります。
次のコマンドを入力して、テキストエディタで.bashrc
ファイルを開きます。
gedit .bashrc
次のように最後にコマンドを追加して、このファイルを編集します。
cd ~/YourDirectoryName
ファイルを保存してターミナルを再起動します。
これが~/.bash_profile
:
alias curDir="pwd | sed -e 's/ /\\ /'"
alias save='echo `curDir` > ~/.saved_dir'
alias saved='cd `cat ~/.saved_dir`'
saved
そして私はいつもこれに依存しています。基本的に、私がいくつかのプロジェクトに取り組んでいるときは、そのプロジェクトのメインディレクトリをsave
し、それ以降のすべてのセッションがそこで開始されます。その後、プロジェクトを変更したり、他の場所でsave
したりします。
私はより良い方法を探しているときにこの質問を見つけましたが、私が得たものは、特定の1つのディレクトリをハードコーディングするよりも私にとって望ましいです。