如何使用 chmod 使 .sh 文件可执行?

如何使用 chmod 使 .sh 文件可执行?

我的触摸覆盖在纵向模式下无法响应,但在横向模式下,我进入了一个可以旋转触摸输入的页面,以便它可以在纵向模式下工作(使用Ubuntu 论坛上的建议),所以我必须编写.sh脚本并运行它们。这是我第一次使用 shell 脚本,我正在使用本页上的脚本,它要求我不要忘记使用以下代码将文件设置chmod为执行:.sh

chmod 777 *.sh

答案1

  1. Kubuntu 中的简单方法(Ubuntu 也一样)。您需要更改 sh 文件的属性。

解决方案一

  1. 只需打开一个终端并进入处理.sh文件的文件夹(例如下面的文件夹),然后运行脚本的名称chmod a+x foo.shfoo.sh

    cd /path/to/script/directory
    chmod a+x foo.sh
    

答案2

问题听起来就像“如何自动使 .sh 文件(或一般脚本)可执行?”答案是,如果不更改新创建文件的默认权限,您就无法做到这一点。这是通过umask.sh 文件并不特殊,它们只是非常基本的文本文件。但当然,您不想更改 umask 以向刚刚创建的任何随机文本文件授予可执行权限,因为这样会为自己打开一个安全漏洞的潘多拉魔盒。

因此,答案是,如果没有不合理的安全漏洞,您就无法实现自动化。更好的方法是养成自己运行 chmod 的习惯,或者将脚本作为参数运行到适当的解释器,例如bash foo.sh。或者创建一个 shell 函数来调用您最喜欢的文本编辑器来创建文件,然后 chmod,例如

makesh(){
    for i; do
        vi "$i"
        chmod +x "$i"
    done
 }

我知道这个答案不太有趣,但很实用

相关内容