在Bash脚本中获取当前目录名称(没有完整路径)

我如何才能在bash脚本中获得当前的工作目录名称,甚至更好,只是一个终端命令。

pwd给出了当前工作目录的完整路径,例如/opt/local/bin但我只想要bin


不需要basename,特别是不需要运行pwd的子shell(它增加了额外的和昂贵的fork操作); shell可以使用参数扩展在内部执行此操作:

result=${PWD##*/}          # to assign to a variable

printf '%sn' "${PWD##*/}" # to print to stdout
                           # ...more robust than echo for unusual names
                           #    (consider a directory named -e or -n)

printf '%qn' "${PWD##*/}" # to print to stdout, quoted for use as shell input
                           # ...useful to make hidden characters readable.

使用basename程序。 对于你的情况:

% basename "$PWD"
bin

$ echo "${PWD##*/}"

链接地址: http://www.djcxy.com/p/1681.html

上一篇: Get current directory name (without full path) in a Bash script

下一篇: How to count all the lines of code in a directory recursively?