更改文件的读写权限

时间:2019-07-07 06:01:37

标签: shell unix file-permissions

我正在尝试更改作为命令行参数给出的文件的文件许可权。请帮帮我

整个问题陈述如下:

写一个shell脚本来更改文件的读写许可权,以所有人的读写许可权。

如果文件存在,则显示为

“文件存在!”

其他显示为

“文件不存在”

如果文件具有读写权限显示为

“文件权限已更改”

假定文件名作为命令行参数给出。

下面是我尝试过的代码。

ngrx-tslint-oftype

预期输出:

示例输出1:

文件存在! 文件权限已更改

样本输出2:

文件不存在

实际结果:

测试用例2失败

未设置文件权限

5 个答案:

答案 0 :(得分:0)

  1. f =“ $ 1”
  2. 如果[-e $ f]然后回显“文件存在!”
  3. elif [! -e $ f]然后回显“文件不存在” &&退出
  4. fi
  5. 如果[-w $ f] && [-r $ f],则chmod 777 $ f && echo“文件权限 已更改”
  6. fi

只是改变-> chmod 777

答案 1 :(得分:0)

尝试一下...它将起作用

for f in ${*}
do
if [ -e $f ]; then
    echo "File Exists!"
    if [ -w $f ] && [ -r $f ]; then
        chmod a=rwx $f && echo "File Permission has been changed"
    fi
else
    echo "File does not Exist" && exit
fi
done

答案 2 :(得分:0)

#!/bin/bash
f="$1"

for f in ${*}; do
  if [ -e $f ]; then
    echo "File Exists!"

    if [ -w $f ] && [ -r $f ]; then
      chmod a=rwx $f && echo "File Permission has been changed"
    fi
  else
    echo "File does not Exist" && exit
  fi
done

答案 3 :(得分:0)

#!/bin/bash

echo "输入文件名"

读f

对于 $f 中的 f

如果 [ -e $f ]

然后

回显“文件存在...!!!”

if [ -w $f ] && [ -r $f ]; 然后

chmod 777  $f && echo "File Permission has been changed"

fi 否则

echo "File Does not Exist"

echo "Do you want to Re-enter the File Name Press Y or y "
read a;

if [ "$a" != "${a#[Yy]}" ];

然后

   continue

else
   exit

fi 菲 完成

答案 4 :(得分:0)

sudo apt-get update
sudo apt-get install libtool