随着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
世界可读。