bash脚本运行以及结束(shell脚本第一行)

初学Linux shell 也许你会对shell 脚本第一行#!/bin/bash有些疑惑,#不是用来注释的吗?下面我们一起来聊聊 #!/bin/bash,下面我们就来聊聊关于bash脚本运行以及结束?接下来我们就一起去了解一下吧!

bash脚本运行以及结束(shell脚本第一行)

bash脚本运行以及结束

初学Linux shell 也许你会对shell 脚本第一行#!/bin/bash有些疑惑,#不是用来注释的吗?下面我们一起来聊聊 #!/bin/bash。

#通常用作注释,但是#!放在一起含义就不一样了。如果你要用给该脚本执行权限的话,第一行必须声明该脚本由什么来解释,#!放在一起就标志着这是一个shell script,其后的路径指出了用来解释这个script的程序。如果一个script只是一些普通linux指令的堆砌。那么#!可以略去不写。但通常我们遇到的都不是这种情况。 如果这个script中包含一些自定义的程序组件,比如说函数,变量等,#!便需要标注。

1.Linux 中的 shell 有很多类型

最常用的几种是: Bourne shell (sh)、C shell (csh) 和 Korn shell (ksh), 各有优缺点。Bourne shell 是 UNIX 最初使用的 shell,并且在每种 UNIX 上都可以使用, 在 shell 编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种shell。Linux 操作系统缺省的 shell 是Bourne Again shell,它是 Bourne shell 的扩展,简称 Bash,与 Bourne shell 完全向后兼容,并且在Bourne shell 的基础上增加、增强了很多特性。Bash放在/bin/bash中,它有许多特色,可以提供如命令补全、命令编辑和命令历史表等功能,它还包含了很多 C shell 和 Korn shell 中的优点,有灵活和强大的编程接口,同时又有很友好的用户界面。GNU/Linux 操作系统中的 /bin/sh 本是 bash (Bourne-Again Shell) 的符号链接,但鉴于 bash 过于复杂,有人把 ash 从 NetBSD 移植到 Linux 并更名为 dash (Debian Almquist Shell),并建议将 /bin/sh 指向它,以获得更快的脚本执行速度。Dash Shell 比 Bash Shell 小的多,符合POSIX标准。

软连接

2.2在一般的linux系统当中(如redhat),使用sh调用执行脚本相当于

2.3也就是说 /bin/sh 相当于 /bin/bash --posix

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页