กำลังพยายามทำ chmod แบบเรียกซ้ำบนไฟล์. sh ทั้งหมดในไดเร็กทอรีเพื่อให้สามารถเรียกทำงานได้
กำลังพยายามทำ chmod แบบเรียกซ้ำบนไฟล์. sh ทั้งหมดในไดเร็กทอรีเพื่อให้สามารถเรียกทำงานได้
คำตอบ:
เพื่อให้เป็นไปได้คุณสามารถใช้find
คำสั่งและค้นหาไฟล์ทั้งหมดที่มี.sh
นามสกุลแล้วเรียกใช้chmod
คำสั่งในแต่ละไฟล์ที่พบ:
find /directory/of/interest/ -type f -iname "*.sh" -exec chmod +x {} \;
ข้อมูล:
-type f
: ไฟล์ปกติเท่านั้น (ข้ามไดเรกทอรี, symlinks, pipes ที่มีชื่อและซ็อกเก็ตและไฟล์พิเศษที่พบใน / dev)-iname
: ไม่สนใจตัวพิมพ์ใหญ่ในชื่อ"*.sh"
: Globbing บอกให้find
คำสั่งค้นหาไฟล์ที่มีนามสกุล ".sh"-exec chmod +x {}
: นี่บอกให้find
คำสั่งดำเนินการchmod
คำสั่งในแต่ละไฟล์ที่พบ ทำให้แต่ละไฟล์ปฏิบัติการ\;
: ระบุการสิ้นสุดของคำสั่ง
find
xargs