我正在尝试获取父目录的子字符串。令人讨厌的是,当一个人应该满足时,我必须使用两个命令来完成它:
curDir=`pwd`; echo ${curDir##*/};
当我尝试将两者合二为一时,我得到一个错误:
echo ${`pwd`##*/}
-bash: ${`pwd`##/}: bad substitution
我怎样才能避免在这里使用临时工具?
答案 0 :(得分:3)
echo ${`pwd`##*/}
将导致参数扩展,如
echo ${/home/yourdir##*/}
但是在你的情况下你不需要命令替换。 Bash提供了一个内置变量:
echo ${PWD##*/}
答案 1 :(得分:1)
在这种情况下,我会这样做:
basename `pwd`
在一般情况下,可能没有basename
的等效内容,但您可以使用sed:
pwd | sed 's,.*/,,'