use*_*129 3 shell scripting bash chmod shell-script
我创建了 512 个文件,名称由权限组合 ( r, w, x) 组成。
我这样创建它们:
touch ./{r,-}{w,-}{x,-}{r,-}{w,-}{x,-}{r,-}{w,-}{x,-}
Run Code Online (Sandbox Code Playgroud)
并且我希望文件具有与其名称指示相同的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
Run Code Online (Sandbox Code Playgroud)
某些文件最终具有正确的权限,但对于其他文件,权限与名称不匹配。我怎样才能解决这个问题?
您传递给的参数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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |