什么是Shebang:Bash脚本头在第一行?

2024年 5月 4日 50.1k 0

作为Linux爱好者,我们都会发现bash脚本是Linux系统的重要组成部分。然而,许多Linux用户不知道为什么bash脚本的第一行包含#!。所以#和的组合!被称为shebang或shebang。

尽管shebang看起来像bash脚本头,但它最初指示系统有关解释器来执行脚本。这个概念感觉有点复杂,但事实并非如此,因为本指南都是关于shebang:bash脚本头的。在这里,我们还将提供一些关于其配置的有趣见解。

什么是Shebang:Bash脚本头在第一行?

这个具有各种名称,如shebang、bang-line和hashbang,因此它是脚本解释器的绝对路径。这就是为什么它停留在第一行,或者系统无法执行脚本。

例如,如果要在bash解释器中运行脚本,则必须添加以下行作为头:

#!/垃圾桶/垃圾桶

在上面的代码中,/bin/bash显示了用于运行脚本的解释器的路径。

脚本中的解释器类型

让我们深入了解bash脚本,并了解您可以使用的各种类型的shell脚本解释器:

#!/usr/bin/env-bash使用PATH环境变量来定位bash可执行文件。它确保脚本应在路径可能不同的不同系统系统中工作。

#!/bin/sh用于在符合POSIX的shell中运行脚本,该shell有时会根据您的系统链接到bash或dash。

#!/bin/ksh用于在KornShell解释器中执行脚本。

#!//usr/bin/env-ksh使脚本可移植到/bin目录中ksh不可用的系统。

#!/bin/zsh在zsh中执行脚本,它具有比bash更高级的功能。

#!/usr/bin/env-zsh用于通过PATH环境变量定位zsh解释器。

#!/bin/csh或#/bin/tcsh用于为C shell(Csh)或tcsh(C shell的改进版本)编写的脚本。

如何提供可执行权限?

添加shebang不仅需要执行脚本,还需要为文件提供可执行权限。例如,必须运行带有x选项的chmod命令,才能为my_script.sh文件提供可执行权限:

chmod+x my_script.sh

脚本中的调试模式

如果你想知道你的脚本是如何执行的,你需要添加-x选项和shebang:

#!/bin/bash-x

此外,如果任何命令失败,您可以使用-e选项使脚本退出:

#!/bin/bash-e

脚本示例

让我们举一个简单的例子,使用/bin/bash-shebang在bash环境中执行脚本。例如,以下是脚本:

#!/垃圾桶/垃圾桶

echo“这是$(pwd)中可用的目录列表:”

ls-l

现在,通过执行以下命令运行脚本,它将列出系统中的所有目录:

./list.sh

包装

这一切都是关于shebang到底是什么,以及为什么必须将其添加到每个bash脚本中。这个显示了脚本解释器的绝对路径。本文介绍了可以在shell脚本中使用的各种shebang,以及Linux中可用的不同类型的shell。shebang也被称为hashbang和bang线,但其工作原理是相同的。

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论