cd -
同じ場所に戻ることが多いです。 Bashでこれを何度も実行するにはどうすればよいですか?それともzshまたは他のツールがそれをサポートしていますか?
答え1
zshにはオプションがありますauto_pushd
。このオプションを使用すると、以前のディレクトリに戻ることができますcd
。pushd
popd
~ $ setopt auto_pushd
~ $ cd /
/ $ cd /var
/var $ cd /usr
/usr $ dirs
/usr /var / ~
/usr $ popd
/var $ popd
/ $ popd
~ $
Bashでは、次のcd
ことができますpushd
。
alias cd=pushd
これには3つのフラグを失うという欠点がありますcd
。cd
ヘルプトピックから:
-Lシンボリックリンクに従うようにします
。 -Pシンボリックリンクに従うのではなく、物理ディレクトリ構造を使用します
。 -e -Pオプションが指定されていて現在の作業ディレクトリを正常に決定できない場合は、ゼロ以外の状態で終了します。
cd
エイリアスの代わりに実際の組み込み関数を使用する必要がある場合は、次のいずれかを使用できます。
'cd'
- このコマンドを引用すると、シェルはエイリアスを確認せず、通常のCDを使用しなくなります。\cd
- バックスラッシュの引用文字。単語の1文字を引用すると、シェルは単語全体を引用符として扱います。builtin cd
- エイリアスの代わりに組み込み関数を使用するようにシェルに直接指示します。
答え2
ディレクトリをブックマークに簡単に追加し、そのディレクトリに戻す簡単で簡単な方法は次のとおりです。
$ a() { alias $1="cd $PWD"; }
どこかに行き、以下を入力してください。
$ a 1
これで現在のディレクトリを1
実行するコマンドが作成されました。cd
後で次のように入力してください。
$ 1
すぐにそのディレクトリに戻ります。これはとても便利だと思いました。
答え3
強く打つ
動作するスクリプトが見つかりましたここ、それは私のために問題を解決しました。このコマンドをcd --
使用すると、最後の10のディレクトリを表示するために入力できます。次のようになります。
0 ~/Documents/onedir
1 ~/Music/anotherdir
2 ~/Music/thirddir
3 ~/etc/etc
~/Music/thirddir
ただ入力するにはcd -2
扱いにくい
oh-my-zshはこれにいくつかの本当に良い機能を提供します(少なくともoh-my-zshがこれを設定したと思います)。
デフォルトでは、エイリアスはd
次のとおりです。dirs -v | head -10
dirs
最近訪問したディレクトリを表示するzsh組み込みコマンド。
また、すべての番号は等で1
エイリアスされます。cd -1
9
実際には次のように動作します。
$ pwd
/home/me/Documents/gems/java_regex/lib
$ d
0 ~/Documents/gems/java_regex/lib
1 ~/Documents/gems/java_regex
2 ~/Documents/gems
3 ~/Documents
4 ~
$ 2
~/Documents/gems
$ pwd
/home/me/Documents/gems
答え4
はい。私たちはあなたのcd
命令をより強力にすることができます。 Bash構成ファイルを使用すると、必要に応じてカスタマイズできます。
私達はcd
利用できますニックネーム
たとえば、
alias ..5="cd ../../../../.."
これにより、5つのディレクトリに移動します。