Bu işlev kullanıcılarımın ~ / .bashrc dosyalarından birinde var:
function rm()
{
ls $*
echo "rm?"
read ans
if [ "$ans" == 'y' ]; then
/bin/rm $*
fi
}
Kullanıcıların çalıştırması gereken ksh betiğimde şöyle bir satır var:
[[ "$KEEP" = "" ]] && \rm $FILE
Ters eğik çizgi kullanıcı tanımlı takma adlardan kaçarken, komut dosyasının aynı ada sahip kullanıcı tanımlı işlevleri çalıştırmasını durdurmaz. Sonuç olarak, sistem işlevi yerine kullanıcımın rm () işlevi çağrılır.
Bu süper kullanıcı soru sorusunu ve yanıtını buldum , ancak çözünürlük bir sistem komutu için değil, sadece yerleşik bir işlev için geçerlidir.
Bir takma ad veya işlev değil, rm komutunun çağrılmasını sağlamak için en iyi yöntem hangisidir? Rm'nin tam yolunu belirtmeli miyim ve sağlamak istediğim her sistem komutu doğru şekilde yürütülüyor mu? Daha iyi bir yol var mı?