Bash脚本Shebang

正如我们在上一篇文章中讨论的那样,每个bash脚本都应以以下行开头:
#!/ bin / 重击
在这里,字符序列(#!) 被称为“舍邦”。它用于与操作系统进行通信,以便它可以确定应使用哪个解释器来解析文件的其余部分。

社bang翻译员指令

重击脚本中的shebang解释器指令采用以下形式:
#!口译员[参数]
在开始解释如何使用shebang之前,需要记住一些重要的点,如下所述:

该指令必须在脚本的第一行中使用。
指令必须以 SHebang(#!).
SHebang字符后的空白是可选的,不是必需的。
解释器是二进制文件的完整路径。 (即 / bin / 重击,/ bin / SH)。
解释器参数是可选的。

例如, #!/ bin / 重击用途‘重击’ to parse the file.

如何在Bash脚本中使用Shebang?

如果您未指定shebang并尝试使用另一个Shell运行Bash脚本,则该脚本将由该特定Shell使用的默认解释器进行解析。例如,‘重击’ 用途‘重击’ and ‘SH’ 用途‘SH’作为默认解释器。为了确保始终用Bash解释脚本,您必须在shebang的帮助下指定可执行路径。

您可以使用两种常用方法来指定shebang指令和设置解释器。

方法1: 

您可以使用bash二进制文件的绝对路径,即
#!/ bin / 重击

方法2: 

您可以使用‘env’ utility, i.e.,
#!/ usr / bin / env 重击
使用此方法的优点是它将在用户中查找bash可执行文件’$ PATH环境变量。如果有多个bash路径,则脚本将应用第一个路径。

Bash脚本示例

首先,使用以下命令创建一个空的脚本文件:
$ touch hello_user.sh
在文本编辑器中打开此文件,然后粘贴以下代码:
#!/ bin / 重击
回声“Hello, User.”
要运行此脚本,需要使用以下命令使其可执行:
$ chmod + x hello_user.sh
现在,您可以使用./后跟脚本名称(即,
$ ./hello_user.sh

输出量

您好,用户。

如何超越Shebang?

如果要覆盖Shebang行中的解释器,则可以通过指定所需的shell显式运行脚本。

例如,如果您要运行包含以下内容的脚本 #!/ bin / 重击 在Shebang行中,您将使用以下命令:
$ 重击 hello_user
但是,建议不要使用此方法,因为它可能导致脚本的意外行为。

←prev 下一页→


教程重点



订阅以获取所有最新更新!


最新教程



与我们博客

联系我们

像Facebook上的Tutorialsmate 在Facebook上关注Tutorialsmate 在Facebook上添加Tutorialsmate 在Facebook上订阅Tutorialsmate 在Facebook上关注Tutorialsmate 在Facebook上关注Tutorialsmate
Get tutorialsmate on Google Play
© 2020 教程伴侣。由...设计 教程伴侣