Bash 脚本中的 Shebang
Fumbani Banda
2023年1月30日
2022年5月14日
本教程解释了 shebang 是什么以及它在 bash 脚本中的用法。
Bash Shebang (#!
) 以及如何使用它
这 #!
在 shell 脚本中使用语法来指示解释器在 Unix/Linux 操作系统中执行脚本。
#!/bin/bash
shebang 以 #
符号和感叹号开头,后跟通向解释器的完整路径。
在上面给出的代码片段的情况下,它指定应该使用 bash
作为解释器来执行脚本,而 bash
解释器可以在 /bin
目录中找到。我们假设 bash
已安装在 /bin
目录中。
Linux 中的脚本由第一行指定的解释器执行。
让我们编写一个使用 #!/bin/bash
的脚本。下面的脚本使用 bash
作为解释器以长格式打印文件夹的所有内容。
#!/bin/bash
ls -al
使 Linux 脚本可移植
#!/bin/bash
假设 bash 安装在 /bin
目录中。但是,在不同的类似 Unix
的操作系统中,情况并非总是如此。要使脚本更便携,请使用 #!/usr/bin/env bash
。
#!/usr/bin/env bash
这告诉 shell 在 $PATH
变量中搜索 bash
的第一个匹配项,并使用它找到的第一个匹配项作为解释器。如果你不知道系统上解释器的绝对路径,这很有用。
让我们编写一个使用 #!/usr/bin/env bash
的脚本。下面的脚本使用它在 $PATH
变量中找到的第一个 bash
shell 作为其解释器,以长格式打印所有文件夹的内容。
#!/usr/bin/env bash
ls -al
Author: Fumbani Banda