乐闻世界logo
搜索文章和话题

How do I know the script file name in a Bash script?

1 个月前提问
1 个月前修改
浏览次数13

1个答案

1

在 Bash 脚本中获取当前脚本的文件名非常简单。我们可以使用内置的变量 $0 来获取当前脚本的名字。这个变量包含了启动当前脚本的命令,这通常是脚本的路径。

例如,假设我们有一个名为 script.sh 的脚本,我们可以在脚本中添加以下代码来打印脚本文件名:

bash
#!/bin/bash echo "脚本名为:$0"

当你运行这个脚本时,它会输出类似这样的结果:

shell
脚本名为:./script.sh

如果你只想获取文件名而不包括路径,你可以使用 basename 命令来提取文件名:

bash
#!/bin/bash script_name=$(basename "$0") echo "脚本名为:$script_name"

这段代码中,basename "$0" 会从 $0 中提取出文件名,即使 $0 包含路径信息。当你运行这个脚本时,输出将是:

shell
脚本名为:script.sh

这种方式非常适合在日志记录、生成特定文件名的输出文件或在脚本自身需要引用其文件名时使用。

2024年8月14日 18:04 回复

你的答案