Linux中执行shell脚本的两种方式

嵌入式技术

1332人已加入

描述

Linux中要操作任何步骤以及执行任何动作都是通过一些命令来完成的,有些时候只需要执行一行命令,基本上都是通过简单的命令操作来完成的,但是有些时候要完成一件事需要很多命令才能够完成,这个时候一条一条的执行很是不大方便,这种太多命令的才能完成的,一般都是编写一个shell脚本来进行操作,而不用一步一步的进行。有些时候在Linux中的很多对应的应用程序目录下有很多.sh结尾的脚本,这些脚本都是shell脚本,通常这个脚本通过一系列的操作编写的脚本,这些脚本都主要用于应用的启动停止等。那么,Linux中是如何执行脚本的呢?

为了能够完成后面的演示,首先创建一个简单的脚本:

Linux

Linux

第一部分,直接通过bash后面加脚本

通过bash命令来执行相应的脚本,通过bash命令来执行对应的脚本的好处是该脚本可以没有执行权限,也能够执行成功。

Linux

Linux

Linux

从上面可以看出通过bash命令来执行脚本,其实是使用了bash来作为脚本的解释器来执行,bash后面只能跟shell脚本命令,如果不是shell脚本命令,执行肯定会报错。

Linux

bash只是Linux中执行脚本的一种方式,如果Linux中还安装了其它shell,也可以使用其它shell命令来执行脚本,比如还安装了zsh等shell,就可以zsh加上脚本来执行相应的脚本。

第二部分,通过相对路径或者绝对路径来执行脚本

执行shell脚本的另外一种方式是通过脚本的相对路径或者绝对路径来执行,但是需要注意的是,通过该方法来执行脚本,该脚本必须有执行的权限,才能够进行执行,如果没有执行权限,是不能执行的。如下所示

Linux

Linux

下面执行该脚本。

Linux

Linux

提示没有执行权限。那么如何让该脚本能够执行呢?下面就要对该脚本加上执行权限。

Linux

Linux

加完执行权限之后,接着再来执行该脚本,看一下是否能够执行成功。

Linux

从上图执行过程可以看出,在脚本所在的目录执行该脚本的过程中需要加上"./"这是为啥呢?为啥不是直接通过脚本名来执行呢?这是由于在Linux中所有可执行的命令是在Linux中的PATH变量中配置的,该脚本执行的路径没有在PATH变量中配置,所以只执行脚本名,是不能够找到该脚本命令的,所以需要在执行脚本命令前加上"./"。下面来看一下如何通过绝对路径来执行脚本。

Linux

好了,最后来看一下该脚本中第一行中加的#!/bin/bash。

为啥脚本中第一行会有这句话,这句话有啥含义呢?

其实加不加这个注释,都能够执行对应的脚本,只是加上这句话主要是为了能够让大家能够看懂这个脚本是通过bash来进行解释执行的,毕竟很多时候有些shell解释器中的命令或者变量结果是不一致的,为了能够让该脚本能够执行有正确的结果,在写shell脚本的时候在一开始加上这句注释,能够让以后执行该脚本的人能够更清楚,不然会造成执行结果不一致的可能。

总结:本文主要讲解了在Linux中如何执行对应的脚本,通过两种不同的方式来解释了一下两种方式的不同之处,从而也让大家能够在执行脚本的过程中能够少产生一些错误。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分