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中执行的。

相关文章

  • 用来检测输入的选项$1是否在PATH中的shell脚本

    用来检测输入的选项$1是否在PATH中的shell脚本

    今天无意中发现一本挺有意思的shell编程的书,是e文的,内容是101个shell案例,坚持明天看一个,写点心得
    2016-08-08
  • linux命令返回值的含义解析

    linux命令返回值的含义解析

    这篇文章主要介绍了linux命令返回值的含义,linux命令执行后无论成功与否都有一个返回值,如果为 0,则表示命令执行成功,其它值则表示错误,具体代码及含义介绍大家通过本文学习下吧
    2018-06-06
  • shell数组操作简明总结

    shell数组操作简明总结

    这篇文章主要介绍了shell数组操作总结,这里包括数组的声明、访问、复制、计算、删除、替换等操作,需要的朋友可以参考下
    2014-05-05
  • Shell编程之特殊变量和扩展变量详解

    Shell编程之特殊变量和扩展变量详解

    这篇文章主要给大家介绍了关于Shell编程教程之特殊变量和扩展变量的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用shell具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • 深入理解Linux中的grep命令

    深入理解Linux中的grep命令

    大家都知道grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。这篇文章给大家详细的介绍了Linux中的grep命令,相信对大家的学习和理解很有帮助,有需要的朋友们可以参考借鉴,感兴趣下面来一起学习学习吧。
    2016-11-11
  • Linux curl命令详解

    Linux curl命令详解

    这篇文章主要为大家详细介绍了Linux curl命令的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • Shell脚本对比两个文本文件找出不同行的2个方法分享

    Shell脚本对比两个文本文件找出不同行的2个方法分享

    这篇文章主要介绍了Shell脚本对比两个文本文件找出不同行的2个方法分享,本文分别使用comm命令法、grep命令法实现,需要的朋友可以参考下
    2014-12-12
  • Linux C线程池简单实现实例

    Linux C线程池简单实现实例

    这篇文章主要介绍了Linux C线程池简单实现实例的相关资料,需要的朋友可以参考下
    2017-07-07
  • 详解Shell 脚本中 “$” 符号的多种用法

    详解Shell 脚本中 “$” 符号的多种用法

    这篇文章主要介绍了详解Shell 脚本中 '$' 符号的多种用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • linux 查看端口占用命令实例详解

    linux 查看端口占用命令实例详解

    这篇文章主要介绍了 linux 查看端口占用命令实例详解的相关资料,教大家怎样查看系统端口占用情况,需要的朋友可以参考下
    2017-07-07

最新评论