<ก่อนหน้านี้ | Contents | ถัดไป>
การกระทำที่กำหนดโดยผู้ใช้
นอกจากการดำเนินการที่กำหนดไว้ล่วงหน้าแล้ว เรายังสามารถเรียกใช้คำสั่งตามอำเภอใจได้อีกด้วย วิธีดั้งเดิมในการทำเช่นนี้คือกับ -Exec การกระทำ. การกระทำนี้ทำงานดังนี้:
-Exec คำสั่ง -
ที่ไหน คำสั่ง เป็นชื่อของคำสั่ง {} คือการแสดงสัญลักษณ์ของชื่อพาธปัจจุบัน และเครื่องหมายอัฒภาคเป็นตัวคั่นที่จำเป็นซึ่งระบุจุดสิ้นสุดของคำสั่ง นี่คือตัวอย่างการใช้ -Exec ทำตัวเหมือน -ลบ การดำเนินการที่กล่าวถึงก่อนหน้านี้:
-exec rm '{}' ';'
-exec rm '{}' ';'
อีกครั้ง เนื่องจากอักขระวงเล็บปีกกาและเครื่องหมายอัฒภาคมีความหมายพิเศษต่อเชลล์ จึงต้องมีการยกคำพูดหรือหลีกเลี่ยง
นอกจากนี้ยังสามารถดำเนินการที่ผู้ใช้กำหนดแบบโต้ตอบได้ โดยใช้ -ตกลง การกระทำแทน -Execผู้ใช้จะได้รับแจ้งก่อนดำเนินการคำสั่งที่ระบุแต่ละคำสั่ง:
ค้นหา ~ -type f -name 'foo*' -ok ls -l '{}' ';'
< ls ... /home/me/bin/foo > ? y
-rwxr-xr-x 1 ฉัน ฉัน 224 2007-10-29 18:44 /home/me/bin/foo
< ls ... /home/me/foo.txt > ? y
-rw-r--r-- 1 ฉัน ฉัน 0 2016-09-19 12:53 /home/me/foo.txt
ค้นหา ~ -type f -name 'foo*' -ok ls -l '{}' ';'
< ls ... /home/me/bin/foo > ? y
-rwxr-xr-x 1 ฉัน ฉัน 224 2007-10-29 18:44 /home/me/bin/foo
< ls ... /home/me/foo.txt > ? y
-rw-r--r-- 1 ฉัน ฉัน 0 2016-09-19 12:53 /home/me/foo.txt
ในตัวอย่างนี้ เราค้นหาไฟล์ที่มีชื่อขึ้นต้นด้วยสตริง “foo” และดำเนินการคำสั่ง ls -l ทุกครั้งที่พบ ใช้ -ตกลง การดำเนินการแจ้งผู้ใช้ก่อน ls คำสั่งถูกดำเนินการ