获取 Bash 脚本文件名

本文展示了我们如何通过脚本获取自己的文件名。此外,我们将看到必要的示例和解释,以使主题更容易。

有很多方法可以完成这项任务。但是我们将看到三种简单的方法来做到这一点。

让我们来看看它们。

使用 basename 命令获取 Bash 脚本文件名

我们可以使用 Bash 的内置命令 basename 命令获取脚本的文件名。为此,你必须遵循以下代码。

$ cat directory/ScriptName.sh
#!/bin/bash
echo "Your script name =" $(basename "$0")

你会注意到我们使用 $0basename 命令来查找脚本的文件名。这个 $0 是 Bash 中的一个内置变量,表示相对路径的文件名。

执行命令后,我们将看到以下输出。

$ directory/ScriptName.sh
Your script name = ScriptName.sh

使用参数扩展获取 Bash 脚本文件名

我们也可以使用参数扩展来完成相同的任务。我们需要按照下面的代码使用此方法执行相同的任务。

$ cat directory/ScriptName.sh
#!/bin/bash
echo "Your script name = ${0##*/}"

你可以注意到我们使用了一些符号组合 ${0##*/},用于显示参数扩展。执行命令后,我们将看到以下输出。

$ directory/ScriptName.sh
Your script name = ScriptName.sh

使用 BASH_SOURCE 变量获取 Bash 脚本文件名

BASH_SOURCE 是 Bash 中包含文件名的内置环境变量。要使用此变量查找脚本的文件名,你需要遵循以下代码。

$ cat directory/ScriptName.sh
#!/bin/bash
echo "Your script name =" $(basename "${BASH_SOURCE}")

执行命令后,我们将看到以下输出。

$ directory/ScriptName.sh
Your script name = ScriptName.sh

请注意,本文中使用的所有代码都是用 Bash 编写的。它仅适用于 Linux Shell 环境。