【问题标题】:Give permission 777 for UNIX files using shell script使用 shell 脚本为 UNIX 文件授予 777 权限
【发布时间】:2018-10-05 01:21:36
【问题描述】:

我想为 UNIX 中的文件授予 777 权限,并将该文件更改为 DOS 文件。

我想在 shellscript 文件中实现这一点。我将从命令提示符传递部分文件名。示例:如果文件名是employeesalary,employeejob,那么如果我在命令提示符下传递employee,那么所有以employee 开头的文件都将被授予对777 的访问权限,并且需要将其更改为DOS 文件。

filename={$1}
chmod 777 $filename*
u2d -i $filename*

当我运行上面的代码时,我得到了以下错误。

chmod: WARNING: can't access employee* 

can't open employee*: No such file or directory in some location it specified 

但是当我在命令提示符中单独运行这些命令时,它工作正常

chmod 777 employee*
u2d -i employee*

【问题讨论】:

  • ShellCheck 警告您的 {} 是文字,这是因为您需要 $: filename=${1}
  • 为什么要777 权限?这些文件是否需要所有人都可以执行和修改?

标签: shell unix


【解决方案1】:

这里不需要单独的变量。做吧

chmod 777 "$1"* && u2d -i "$1"*

如果你喜欢它作为三行:

filename="$1"
chmod 777 "$filename"* || exit $?
u2d -i "$filename"*

也就是说,777(世界可写,世界可执行)可能不是一个好主意。 755 (rwxr-xr-x) 甚至 644 (rw-r--r--) 是否适合您?如果是这样,那就更好了。

【讨论】:

    猜你喜欢
    • 2016-10-16
    • 2016-12-28
    • 2012-12-21
    • 2022-08-04
    • 1970-01-01
    • 1970-01-01
    • 2019-06-18
    • 2016-02-29
    • 1970-01-01
    相关资源
    最近更新 更多