Bash:获取当前工作目录名称,但不是完整路径

use*_*632 22 command-line bash

我知道这pwd会打印当前工作目录的完整路径,但我只想打印目录的名称。是否有一个简单的命令可以在不解析的情况下执行此操作pwd

Rad*_*anu 31

就在这里。您可以使用纯 bash:

echo "${PWD##*/}"
Run Code Online (Sandbox Code Playgroud)

或者更好,以避免您可能在-e目录中的情况:

printf '%s\n' "${PWD##*/}"
Run Code Online (Sandbox Code Playgroud)

(感谢@gniourf_gniourf 的第二个建议)。

或者您可以使用basename工具:

basename "$PWD"
Run Code Online (Sandbox Code Playgroud)

  • 还有`basename ~+` (2认同)
  • 1. 什么是 -e 目录 2. "${PWD##*/}" 这是如何工作的? (2认同)