在 Bash 脚本中使用 basename 命令

热门:
升级您的服务器配置! 申请 AVA 并使用 立减 15%
使用优惠码:

为什么在 Scripts 中使用 basename

以下只是一些真实场景中 scripting 需求的例子:

 Bash Scripts 中的 Practical Use Cases

📁 1. Looping Over Files with Logging

这个 script 会遍历 .log files,提取不带 extension 的名称,并记录每个操作。basename 让 filename 处理更简单,无需复杂的字符串切片。

📂 2. Using basename for Dynamic File Paths

假设你从用户输入或另一个 process 接收到完整路径:

在 script 中使用 basename 可确保在处理 dynamic file paths 时具有灵活性,尤其是在像 Linux VPS 这样的环境中,logs、config files 和 backups 可能位于不同目录。这使你的 script 无论传入的是像 /var/log/syslog 这样的完整路径,还是像 ./config.txt 这样的相对 file,都能保持稳健。

🧪 3. Combining basename with dirname

将它们一起使用以分离 path elements:

 使用 basename 移除 File Extensions

如果你想移除已知的 extensions:

⚠️ 注意:这只有在 suffix matches exactly 时才有效。所以 .txt 可以,但 .TXT 或 .tar.gz 不行,除非明确指定。

对于多个 extensions,可将 basename 与其他工具结合:

或者: