私が入力したとき、bashは私が入力したディレクトリ全体のパスへのショートカットとして特定のディレクトリに私を連れてcd ~foo
行きたいと思います。私はディレクトリからホームディレクトリにファイルをコピーできるようにしたいです。基本的に私はまったく同じことをしたいが、ディレクトリが何であるべきかを指定します。 [JFGIをしなければならないと確信していますが、FGを知りません。]foo
foo
cp ~foo/bar.txt ~/bar.txt
/foo/
~/
ベストアンサー1
これを行うために使用する方法は、ショートカットを実行するディレクトリへのシンボリックリンクを持つディレクトリを作成し、そのディレクトリをCDPATHに追加することです。 CDPATHはディレクトリを変更したときに検索する場所を制御するため、cd
そのシンボリックリンクディレクトリがCDPATHにある場合は、cd
すべてのシンボリックリンクディレクトリにすぐに移動できます。
mkdir ~/symlinks
ln -s /usr/bin ~/symlinks/b
export CDPATH=~/symlinks
cd b # Switches to /usr/bin
もちろん、欠点は、現在のディレクトリに「b」というディレクトリがあると機能しないことです。そのディレクトリはCDPATHよりも優先されます。
私は一般的に「最初にシェルを切り替える必要があります」という答えが好きではありませんが、これは精密機能が存在しますZTE、代わりに使用したい場合に呼び出されます。名前ディレクトリ。変数をエクスポートしてそれをfoo
参照すると、~foo
値がにチェックされます$foo
。これは次のコマンドで使用できるため、特に便利ですcd
。
echo hi > /tmp/test
export t=/tmp
cat ~t/test # Outputs "hi"