shell脚本的几种常见执行方式,及其区别

shell脚本的几种常见执行方式,及其区别


1.[ bash(也可换成其他命令解释器如sh等) scipt-name ]:
这是当脚本文件本身没有可执行权限(即文件属性x位为-)时常使用的方法,或者当文件开口没有指定命令解释器也可使用这种方法来决定用哪个命令解释器来执行。这种执行shell的方法是比较推荐的,因为他可以在文件没有执行权限的情况下使用,也可以指定命令解释器。

2.[ path/script-name ]或者[ ./scrpt-name ]:
执行指定路径下的脚本(但是要求该脚本必须有可执行权限),需要将该脚本先赋予执行权限,如果没有可执行权限就会执行失败,避免出现这种问题的方法就是用1来代替2

3.[ source script-name ]或者[ . script-name ]:
这种方法通常是使用“source”或者“.”读入或者加载指定的shell脚本文件,然后执行该文件中的语句。这些语句将在当前shell(shell命令行)进程中运行(其他几种执行方式都是启动新的进程执行脚本)。因此如果shell脚本中有临时修改环境变量、或者函数的返回值需要在传递到当前环境中(shell命令行),需要用这种方式执行该shell脚本。

4.[ sh(也可换成其他命令解释器)<script-name ]或者[ cat script-name|sh (也可换成其他命令解释器)]:
同样适用于bash,这种用法不常见但是有出奇制胜的效果。<是将原本从命令行获取输入改成从script-name文件获取输入,即将script-name中的内容用命令行解释器执行。|管道,将将script-name文件中的内容放入命令解释器中执行。

参考文献《Shell编程实战》

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值