You need to enable JavaScript to run this app. 新建bash脚本需手动设置执行权限是否属于正常现象?
优惠活动
大模型
产品
解决方案
定价
更多

新建bash脚本需手动设置执行权限是否属于正常现象?

问题结论

这种情况是完全正常的,属于Linux/Unix类系统的默认权限设计。

背后的设计逻辑

  • 系统普通文件的默认创建权限由umask参数控制,绝大多数桌面/服务器发行版的默认umask值为022,对应普通文件的默认权限为644(即所有者读写、用户组只读、其他用户只读),默认不为任何用户开放执行权限,这是出于安全考虑,避免恶意文件被意外创建后直接执行引发风险。
  • Linux系统不依赖文件后缀判断文件类型,.sh只是方便人工识别的命名后缀,系统不会因为文件带有该后缀就自动赋予执行权限。

简化操作的可选方案

如果你不想每次手动执行chmod +x,可以用以下两种常用方案优化流程:

  • 新建文件时直接指定权限,使用命令install -m 755 /dev/null 你的脚本名.sh,创建出的空文件直接自带执行权限
  • 在shell配置文件(如.bashrc、.zshrc)中添加自定义快捷函数,示例如下:
mkbash() {
    if [ -z "$1" ]; then
        echo "请指定脚本名称"
        return 1
    fi
    touch "$1"
    chmod +x "$1"
    vim "$1" # 这里可以换成你常用的编辑器,比如nano、code等
}

配置完成后重载配置文件,之后执行mkbash test.sh即可一步完成创建、加权限、打开编辑的操作。

内容的提问来源于stack exchange,提问作者Abhisek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 04:45:02