r
名前が権限の組み合わせ(、、、w
)で構成される512ファイルを作成しましたx
。
私は次のようにそれらを作ります:
touch ./{r,-}{w,-}{x,-}{r,-}{w,-}{x,-}{r,-}{w,-}{x,-}
ファイルが名前で認識されているのと同じ権限を持つことを望みます。つまり、ファイルにr-x--xrwx
権限が必要ですr-x--xrwx
。
私はこれを試みます:
for i in *
do
u=${i:0:3};g=${i:3:3};o=${i:6:3}
chmod u=$u,g=$g,o=$o -- $i
done
一部のファイルは正しい権限を持っていますが、他のファイルの場合、権限は名前と一致しませんでした。この問題をどのように解決できますか?
ベストアンサー1
渡す引数には記号がchmod
含まれていますが、-
含めないでください。この問題を解決するには、-
次の記号を削除します。
for i in *
do
u=${i:0:3};g=${i:3:3};o=${i:6:3};
u=${u//-/};g=${g//-/};o=${o//-/};
chmod -- "u=$u,g=$g,o=$o" "$i"
done