Linux中执行shell脚本的4种方法总结

 更新时间:2014年08月19日 08:41:25   投稿:junjie  
这篇文章主要介绍了Linux中执行shell脚本的4种方法总结,即在Linux中运行shell脚本的4种方法,需要的朋友可以参考下

bash shell 脚本的方法有多种,现在作个小结。假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限。

方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本:

复制代码 代码如下:

cd /data/shell

./hello.sh


./的意思是说在当前的工作目录下执行hello.sh。如果不加上./,bash可能会响应找到不到hello.sh的错误信息。因为目前的工作目录(/data/shell)可能不在执行程序默认的搜索路径之列,也就是说,不在环境变量PASH的内容之中。查看PATH的内容可用 echo $PASH 命令。现在的/data/shell就不在环境变量PASH中的,所以必须加上./才可执行。

方法二:以绝对路径的方式去执行bash shell脚本:

复制代码 代码如下:

/data/shell/hello.sh

方法三:直接使用bash 或sh 来执行bash shell脚本:
复制代码 代码如下:

cd /data/shell

bash hello.sh



复制代码 代码如下:

cd /data/shell

sh hello.sh


注意,若是以方法三的方式来执行,那么,可以不必事先设定shell的执行权限,甚至都不用写shell文件中的第一行(指定bash路径)。因为方法三是将hello.sh作为参数传给sh(bash)命令来执行的。这时不是hello.sh自己来执行,而是被人家调用执行,所以不要执行权限。那么不用指定bash路径自然也好理解了啊,呵呵……。

方法四:在当前的shell环境中执行bash shell脚本:

复制代码 代码如下:

cd /data/shell

. hello.sh



复制代码 代码如下:

cd /data/shell

source hello.sh


前三种方法执行shell脚本时都是在当前shell(称为父shell)开启一个子shell环境,此shell脚本就在这个子shell环境中执行。shell脚本执行完后子shell环境随即关闭,然后又回到父shell中。而方法四则是在当前shell中执行的。

相关文章

  • awk中RS、ORS、FS、OFS的区别和联系小结

    awk中RS、ORS、FS、OFS的区别和联系小结

    这篇文章主要介绍了awk中RS、ORS、FS、OFS的区别和联系小结,用大量实例来说明和讲解,需要的朋友可以参考下
    2014-07-07
  • Shell中的循环语句for、while、until实例讲解

    Shell中的循环语句for、while、until实例讲解

    这篇文章主要介绍了Shell中的循环语句for、while、until实例讲解,简单清晰明了,非常不错的教程,需要的朋友可以参考下
    2014-06-06
  • 一个shell小案例(创建日期目录)

    一个shell小案例(创建日期目录)

    需要在多个目录中 (如:beijing shanghai tianjin guangzhou 等等) 创建子目录(以年份命名),然后进入子目录,新建目录并以当天的日期命名
    2016-08-08
  • sed模式空间和暂存空间的区别

    sed模式空间和暂存空间的区别

    很多朋友对sed模式空间和暂存空间的区别不是很清楚,这里简单的介绍下,方便需要的朋友
    2013-01-01
  • shell脚本退出的正确方式与最佳实践

    shell脚本退出的正确方式与最佳实践

    这篇文章主要给大家介绍了关于shell脚本退出的正确方式与最佳实践,shell是linux系统必备工具,在linux系统里打开终端或者使用ssh连接时都是使用命令语言作为交互支撑,需要的朋友可以参考下
    2023-07-07
  • 用Shell判断字符串包含关系的方法小结

    用Shell判断字符串包含关系的方法小结

    这篇文章主要给大家介绍了关于用Shell判断字符串包含关系的几种方法,其中包括利用grep查找、利用字符串运算符、利用通配符、利用case in 语句以及利用替换等方法,每个方法都给出了详细的示例代码与介绍,有需要的朋友们可以参考参考借鉴,下面来一起看看吧。
    2016-12-12
  • 使用curl命令查看服务器端口开放情况的方法

    使用curl命令查看服务器端口开放情况的方法

    这篇文章主要介绍了如何使用curl命令查看服务器端口开放情况的方法,文中通过代码示例和图文讲解的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2024-05-05
  • Linux复制文件命令cp之使用解说

    Linux复制文件命令cp之使用解说

    Linux下的命令有很多,其中有一个命令,我一直使用都存在问题,那就是cp命令了。今天通过本文给大家介绍Linux复制文件命令cp之使用解说,感兴趣的朋友一起学习吧
    2016-11-11
  • shell脚本实现ssh-copy-id批量自动发送公钥到远程主机

    shell脚本实现ssh-copy-id批量自动发送公钥到远程主机

    这篇文章主要介绍了shell脚本实现ssh-copy-id批量自动发送公钥到远程主机的方式,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • Linux下快速比较两个目录的不同(多种方法)

    Linux下快速比较两个目录的不同(多种方法)

    这篇文章主要介绍了Linux下快速比较两个目录的不同,本文给大家带来了多种方法,非常不错,具有一定的参考借鉴价值,感兴趣的朋友跟随脚本之家小编一起学习吧
    2018-05-05

最新评论