cdKomutun işlevselliğini ihtiyaçlarıma göre özelleştirmek istiyorum .
Aşağıdaki işlevi tanımladım -
function cd () { cd "$@" && pushd "$@"; }
Bu işlevin amacı, dizini otomatik olarak yığının üzerine itmektir, böylece pushd .her seferinde elle yazma çabasını kurtarır .
Bununla birlikte, yukarıdaki işlev sonsuz bir özyinelemeli işlevdir, çünkü çağrı çağrısı yerleşik cddeğil, işlevin kendisi olarak yorumlanır cd.
cdBu işlevdeki yerleşik öğeye nasıl başvurabilirim?
Takma adların kaçabileceğini biliyorum \. İşlevlerden kaçmanın veya yerleşiklere daha açık bir şekilde referans vermenin yolu nedir?
Not: İşlevimi başka bir şeyle yeniden adlandırmak istemiyorum.
pushddesteklemiyor -P. Ama haklısın, soruda gösterildiği gibi, function cddizini iki kez değiştirdiği için biraz yanlış görünüyor.
alias cd=pushd? Mutlak yol olmayan bir şeye (örneğin,cd ../) geçtiğinizde ne olmasını beklersiniz ?