ฉันกำลังเขียน makefile ที่จะล้างไฟล์ที่ไม่มีประโยชน์เมื่อสิ้นสุดการคอมไพล์ หากเป้าหมายได้ถูกสร้างขึ้นแล้วแน่นอนว่ามันจะข้ามเป้าหมายนั้นและไฟล์ที่ไร้ประโยชน์อาจไม่อยู่ที่นั่น ดังนั้นถ้าฉันทำสิ่งนี้:
rm lexer.ml interpparse.ml interpparse.mli
ฉันอาจได้รับข้อผิดพลาดเนื่องจากไม่มีไฟล์ใดไฟล์หนึ่งอยู่ มีวิธีบอกrm
ให้เพิกเฉยกับไฟล์เหล่านี้หรือไม่?
ในการอ่าน man page ฉันเห็นตัวเลือกต่อไปนี้:
-f Attempt to remove the files without prompting for confirma-
tion, regardless of the file's permissions. If the file does
not exist, do not display a diagnostic message or modify the
exit status to reflect an error. The -f option overrides any
previous -i options.
ดูเหมือนว่าเกือบจะเป็นสิ่งที่ฉันต้องการ แต่ฉันไม่แน่ใจเกี่ยวกับส่วนการอนุญาต มีวิธีทำเช่นนี้หรือไม่?
-f
ตัวเลือกrm จะยังคงพยายามลบอยู่ มันจะล้มเหลว มันจะไม่บอกคุณว่ามันล้มเหลว มีประโยชน์ถ้าชื่อไฟล์เป็นตัวแปรหรือกลม
rm --interactive=never
ที่ทำหน้าที่rm -f
ยกเว้นมันจะกลับสถานะทางออกข้อผิดพลาด ดูที่นี่สำหรับรายละเอียดเพิ่มเติม: unix.stackexchange.com/questions/72864/…
rm
ในกล่องทรายหรือไม่? ดูเหมือนว่า-f
จะทำสิ่งที่คุณต้องการโดยไม่คำนึงถึงความโค้งมน