คำสั่งเพื่อทำ chmod แบบเรียกซ้ำเพื่อสร้างไฟล์. sh ทั้งหมดภายในไดเร็กทอรีที่เรียกใช้งานได้หรือไม่?


13

กำลังพยายามทำ chmod แบบเรียกซ้ำบนไฟล์. sh ทั้งหมดในไดเร็กทอรีเพื่อให้สามารถเรียกทำงานได้


มองเข้าไปในและอาจfind xargs
fkraiem

คำตอบ:


25

เพื่อให้เป็นไปได้คุณสามารถใช้findคำสั่งและค้นหาไฟล์ทั้งหมดที่มี.shนามสกุลแล้วเรียกใช้chmodคำสั่งในแต่ละไฟล์ที่พบ:

find /directory/of/interest/ -type f -iname "*.sh" -exec chmod +x {} \;

ข้อมูล:

  1. -type f: ไฟล์ปกติเท่านั้น (ข้ามไดเรกทอรี, symlinks, pipes ที่มีชื่อและซ็อกเก็ตและไฟล์พิเศษที่พบใน / dev)
  2. -iname: ไม่สนใจตัวพิมพ์ใหญ่ในชื่อ
  3. "*.sh": Globbing บอกให้findคำสั่งค้นหาไฟล์ที่มีนามสกุล ".sh"
  4. -exec chmod +x {}: นี่บอกให้findคำสั่งดำเนินการchmodคำสั่งในแต่ละไฟล์ที่พบ ทำให้แต่ละไฟล์ปฏิบัติการ
  5. \;: ระบุการสิ้นสุดของคำสั่ง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.