ด้วย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
อ่านโลก