如何使用chmod更改文件的权限,使用变量

时间:2016-01-07 15:07:39

标签: bash chmod

我正在尝试更改文件的权限,并且我将文件的路径存储在数组中。

chmod 744 ${arrayOfFiles[1]}

1只是一个占位符,实际上它在for循环中是i。但每当我运行此命令时,我都会收到此错误:

chmod: missing operand after ‘744’

我不知道为什么。我已经检查过${arrayOfFiles[1]}实际上是否包含完整路径。

我不确定它为什么不起作用。

提前致谢。

编辑:

local i=0
filePermission="-rwxr--r--"
directoryPermission="-rwxr-xr-x"
for (( i=0; i<=${#arrayOfFilePermissions[@]}; i++))
do
    if [ "${arrayOfFilePermissions[$i]}" != "$filePermission" ]; then
        echo "File ${arrayOfFiles[$i]} has the wrong permission: ${arrayOfFilePermissions[$i]}"
        echo ${arrayOfFiles[$i]}
        chmod 744 ${arrayOfFiles[$i]}
        echo "This has been changed to: $filePermission"
    fi
done

数组arrayOfFiles包含文件名,arrayOfPermissions包含权限。我正在努力获得所有权限rwxr--r--

if语句正在运行,只是我试图从数组中获取值失败,并绘制空白

0 个答案:

没有答案