urxvtは、現在のタブと同じ現在のディレクトリに新しいタブを開きます。

urxvtは、現在のタブと同じ現在のディレクトリに新しいタブを開きます。

urxvtで新しいタブが開かれるたびに、cwd(現在の作業ディレクトリ)はbashrcに設定されているデフォルトのディレクトリです。

現在のタブのcwdで新しいタブを開く方法は?

ベストアンサー1

まず、cdディレクトリを変更するたびに、現在のディレクトリを保存する関数で組み込み関数をオーバーライドできます。

cd() {
    command cd $@
    pwd > ~/.curdir
}

その後、新しいシェルを開くたびに、最後に既知のディレクトリに変更できます。

command cd `cat ~/.curdir`

両方のスニペットを両方に入れると~/.bashrc、新しく開くすべてのシェルにオーバーライドされたcdコマンドが適用され、最後に既知のディレクトリに変更しようとします。

#!/bin/bash

cd() {
    command cd $@
    pwd > ~/.curdir
}

command cd `cat ~/.curdir`

元のコマンドにアクセスするために名前付き関数ではなくcommand組み込み関数を使用していることに注意してください。また、これは意図しない副作用がある可能性があることに注意してください。特に、同時に複数のシェルが開いている場合(タブを使用する場合のポイント)、さらにそうです。cdcd()urxvt

おすすめ記事