Bash设置一个变量来剪切其他变量

时间:2017-04-04 21:04:10

标签: bash shell variables cut

我正在尝试将变量设置为路径中的最后一项,但似乎无法弄清楚如何去做。现在,我有这个,但它不起作用:

path=echo pwd
last=echo $path | rev | cut -d / -f 1 | rev

所以例如,如果路径是〜/ one / two / 3,我希望最后设置为3。 现在,每当我运行echo $last时,所有输出的都是一个空行。

有人可以帮忙吗?谢谢!

3 个答案:

答案 0 :(得分:1)

您要求的内容称为command substitution

last=$(pwd | rev | cut -d / -f 1 | rev)
echo "$last"

答案 1 :(得分:1)

变量PWD已经填满,所以你可以

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

答案 2 :(得分:0)

您也可以使用简单的awk命令实现相同的功能,如下面的

last=`echo $PWD | awk -F "/" '{print $NF}'`
echo $last

或使用sed去除/ first然后打印最后一个目录名称

last=`echo $PWD | sed 's/\// /g' | awk '{print $NF}'`
echo $last