คู่มือ GNU coreutils สำหรับmv
พูดว่า:
-f --force Do not prompt the user before removing a destination file.
อย่างไรก็ตามดูเหมือนว่านี่จะเป็นพฤติกรรมเริ่มต้นสำหรับmv
ดังนั้น-f
ตัวเลือกที่ดูเหมือนจะฟุ่มเฟือย เช่นใน GNU Bash เวอร์ชั่น 4.3.11:
$ ls -l
total 0
$ touch 1 2; mv -f 1 2; ls
2
$ touch 1 2; mv 1 2; ls
2
ดูเหมือนว่าไม่น่าจะเป็นความตั้งใจของ-f
ธงคือการแทนที่alias mv="mv -i"
เพราะมีหลายวิธีมาตรฐานของการเอาชนะนามแฝง (เช่นการใช้\mv
) ที่จะทำสิ่งนี้กระชับและในลักษณะที่สอดคล้องกันข้ามคำสั่ง
คู่มือตั้งข้อสังเกตว่า "หากคุณระบุตัวเลือกมากกว่าหนึ่งตัวเลือก -i, -f, -n จะมีผลเฉพาะตัวสุดท้ายเท่านั้น" แต่ดูเหมือนว่าไม่น่าจะเป็นไปได้ที่ความตั้งใจของ-f
ธงคือการแทนที่-i
ธงโดยทั่วไป เพราะพฤติกรรมเทียบเท่าสามารถทำได้โดยเพียงแค่ใช้ซึ่งเป็นมากขึ้นกระชับและเข้าใจกว่าการใช้mv
mv -if
ในกรณีนี้วัตถุประสงค์ของ-f
ธงคืออะไร? ทำไมมันมีอยู่?
mount
เช่น (แม้ว่าจะมีตัวอย่างที่ดีกว่า) คุณต้องการที่จะจำสิ่งที่เป็นค่าเริ่มต้นสำหรับทุกตัวเลือกเพื่อให้คุณสามารถกำหนดตัวเลือกที่คุณต้องการตั้งค่า? เป็นสิ่งที่ดีที่มีตัวเลือกทั้งค่าเริ่มต้นและไม่ใช่ค่าเริ่มต้นดังนั้นคุณสามารถตั้งค่าตัวเลือกได้อย่างชัดเจนแทนที่จะต้องติดตามจิตใจว่าค่าเริ่มต้นคืออะไร สิ่งที่มีคือง่ายต่อการจดจำกว่าบางสิ่งบางอย่างไม่ได้มี