linux脚本执行的两种方式及区别

linux脚本执行的两种方式及区别

脚本都以#!/bin/bash开头,“#”称为sharp,“!”在unix行话里称为bang,合起来简称就是常见的shabang。/bin/bash表示在执行脚本时内部会使用该路径的bash去执行。

1.Bash(Bourne Again Shell),目前是大多数GNU/Linux系统默认的shell环境。

 

兴發国际娱乐手机登录,脚本被执行有两种方式:一种是将脚本作为sh命令的参数,一种是作为独立的可执行文件执行。

2.shell脚本通常是一个以#!起始的文本文件:#!/bin/bash

1、两种方式:

作为sh命令的命令行参数时,此时#!/bin/bash行就无所谓存在与否。运行方式如:

Linux环境下的任何脚本语言,都是以这样一个被称为shebang的特殊行作为起始的。在这行中,字符#!被至于解释器路径之前。/bin/bash是Bash的路径。

 

[root@xuexi tmp]# sh abc.sh

shebang这个词其实是两个字符名称的组合。在Unix的行话里,用sharp或hash(有时用mesh)来称呼字符”#”,用bang来称呼”!”,因而shebang合起来就代表了这两个字符。

    A、将脚本作为命令行参数的方式如:sh ping.sh

作为独立的可执行文件执行时要求对脚本文件具有可执行权限,运行的方式是直接使用脚本名,如:

3.运行脚本的两种方式:
一、将脚本作为sh或bash的命令行参数;
$ sh script.sh #bash script.sh #脚本在当前目录下
$ sh /home/path/script.sh #bash /home/path/script.sh
#使用script.sh的完整路径

 

[root@xuexi tmp]# chmod +x abc.sh

[root@xuexi tmp]# ./abc.sh   #当前目录

或者

[root@xuexi tmp]# /tmp/abc.sh  #绝对路径方式

如果将脚本作为sh的命令行参数来运行,那么脚本中的shebang行也就没什么用处了。
为了使shell脚本能够自己独立运行,需要具备可执行权限,。要是脚本独立运行,必须利用shebang行。它通过使用位于#!之后的解析器来运行脚本。

    B、脚本能自己独立运行的方式如:./ping.sh

 

二、将脚本作为具有执行权限的可执行文件。
$ chmod a+x script.sh

发表评论

电子邮件地址不会被公开。 必填项已用*标注