
次のように.bashrcにエイリアスを設定しました。
alias u='cd ..'
私の世界ではすべてがうまくいっていますcd ..
。実際、この特別なことにおいて、それはかなり根深いものです。私の行動を変えるのは難しいです。深刻な介入が必要です。
だから私は自然に次のものを使用しないように別のエイリアスを設定してみましたcd ..
。
alias 'cd ..'='echo "Use your alias!"'
しかし、これは明らかに動作しません。私の考えでは、これはu
何らかの方法でエイリアシングの無限ループでエイリアシングと衝突する可能性があるということです。
どんなアイデアがありますか?
答え1
コマンドにいくつかの追加引数を提供するよりも複雑なのは、エイリアスではあまりにも多くのことであり、代わりに関数が必要です。builtin cd
原稿を思い出させるために使用されます。
cd () {
if [ "$*" = ".." ]; then
echo 1>&2 'Use your alias instead!'
return 2
else
builtin cd "$@"
fi
}
bash ≥4.0を実行すると、この特定のエイリアスの有用性に疑問があります。shopt -s autocd
自分の名前を入力して~/.bashrc
から、..
または別のディレクトリ名を入力すると、そのディレクトリに切り替えられます。