Para definir x
permissões para "outros" em /dir1/dir2/.../target
e todos os diretórios intermediários (exceto para o diretório raiz) e r
permissões no diretório target
no final do caminho:
dir=/dir1/dir2/dir3/dir4/target
chmod o+r "$dir"
while [ -n "$dir" ]; do
chmod o+x "$dir"
dir=${dir%/*}
done
Para o caminho do diretório fornecido, isso executaria os comandos
chmod o+r /dir1/dir2/dir3/dir4/target
chmod o+x /dir1/dir2/dir3/dir4/target
chmod o+x /dir1/dir2/dir3/dir4
chmod o+x /dir1/dir2/dir3
chmod o+x /dir1/dir2
chmod o+x /dir1
O valor dir
variables é alterado em cada iteração do loop removendo o último /
e tudo depois dele.