Linux Shell 文件自动添加执行权限

  • 使用 autocmd 自动命令
  • 配置 autocommand-events 参数,可以使用 :help autocommand-events 来查看具体使用events使用方法

本文使用 autocmd BufWritePost 来实现为 Shell 文件自动添加执行权限

  1. autocmd BufWritePost * if getline(1) =~ "^#!" | if getline(1) =~ "/bin/" | silent !chmod u+x <afile> | endif | endif
  • 该方法的实现是读取文件第一行,以 #! 开头,执行 chmod 操作
  • 正常 Shell 脚本文件第一行 #! /bin/bash ,指定了 Shell 脚本解释器的路径,只能放在文件的第一行。其中 # 表示该行是注释,叹号 ! 告诉shell运行叹号之后的命令并用文件的其余部分作为输入,也就是运行 /bin/bash 并让 /bin/bash 去执行SHELL程序的内容。
  • 第一行写错后者不写时,系统会又一个默认的SHELL解释器进行解释。默认SHELL可以使用 echo $SHELL 查看
  1. 将第一种方法 if 语句拆成多行
autocmd BufWritePost * 
       \ if getline(1) =~ "^#!" |
       \       if getline(1) =~ "/bin/" |
       \               silent !chmod u+x <afile> |
       \       endif |
       \ endif
  1. autocmd BufWritePost *.sh :!chmod u+x <afile>
  • : for command mode
  • ! to run a shell command
  1. autocmd BufWritePost *.sh exec "!chmod u+x <afile>"

以上四种方法任选一种将其内容加载到 .vimrc 文件中即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值