または: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;}
または、次のようなglob修飾子関数を定義できます。
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
。