ด้วยcsh, tcsh, ksh, zsh, bash, fishหรือyash -o braceexpand:
sudo chmod +rx /root{,/subfolder1{,/subfolder2{,/subfolderN}}}
ด้วยzsh:
f=/root/subfolder1/subfolder2/subfolderN
until [[ $f = / ]] {chmod +rx $f; f=$f:h;}
หรือคุณสามารถกำหนดฟังก์ชันตัวระบุแบบกลมได้เช่น:
explode() {
reply=()
until [[ $REPLY = [./] ]] {
reply+=$REPLY
REPLY=$REPLY:h
}
}
เพื่อใช้เป็นตัวอย่างเช่น:
$ echo chmod +rx subfolder1/subfolder2/subfolderN(+explode)
chmod +rx subfolder1 subfolder1/subfolder2 subfolder1/subfolder2/subfolderN
โปรดทราบว่าchmod +rxได้รับผลกระทบจาก umask หากคุณumaskไม่ได้รวม007มันจะทำให้/rootไดเรกทอรีอ่านได้ทั่วโลกและเข้าถึงได้ซึ่งเป็นความคิดที่ไม่ดี /rootโดยทั่วไปแล้วสำหรับสิ่งส่วนตัวของผู้ใช้ระดับสูงเป็นความคิดที่ดีที่จะเปิดเผย
/rootอ่านโลก