ฟังก์ชันนี้มีอยู่ในหนึ่งในผู้ใช้ของฉัน ~ / .bashrc:
function rm()
{
ls $*
echo "rm?"
read ans
if [ "$ans" == 'y' ]; then
/bin/rm $*
fi
}
ในสคริปต์ ksh ของฉันที่ผู้ใช้จำเป็นต้องเรียกใช้ฉันมีบรรทัดดังนี้:
[[ "$KEEP" = "" ]] && \rm $FILE
ในขณะที่แบ็กสแลชจะหนีนามแฝงที่ผู้ใช้กำหนดเองมันจะไม่หยุดสคริปต์จากการเรียกใช้ฟังก์ชันที่ผู้ใช้กำหนดด้วยชื่อเดียวกัน ด้วยเหตุนี้ฟังก์ชั่น rm () ของผู้ใช้ของฉันจึงถูกเรียกใช้แทนฟังก์ชั่นระบบ
ฉันพบคำถาม & การตอบคำถาม superuser นี้แต่การแก้ปัญหาจะใช้กับฟังก์ชั่นบิวอินเท่านั้นไม่ใช่คำสั่งระบบ
อะไรที่ดีที่สุดในการบังคับใช้คำสั่ง rm จากการถูกเรียกไม่ใช่นามแฝงหรือฟังก์ชัน ฉันต้องระบุพา ธ เต็มไปยัง rm และทุกคำสั่งระบบที่ฉันต้องการให้แน่ใจว่าดำเนินการอย่างถูกต้องหรือไม่ มีวิธีที่ดีกว่า?