在bash中合并功能

时间:2018-09-03 13:09:41

标签: linux bash terminal

我在~/.bash_aliases文件中编写了两个函数;一个返回当前的工作文件夹(目录路径中最后一个/之后的所有内容),另一个设置终端标签:

function set-location { printf "\e]2;$1\a"; }
function get-location {
    local location=${PWD##*/}
    echo "$location"
}

说我在目录james/foo/bar中。结合这两个功能,我希望终端窗口将设置为bar。但是,我不知道如何有效地将它们结合起来。我已经尝试了以下方法,但都无济于事,尽管我只是在猜测此时该做什么:

set-location get-location # terminal title: get-location
set-location $get-location # terminal title: -location
set-location ${get-location} # terminal title: location
set-location "${get-location}" # terminal title: location
get-location | set-location # terminal title: Terminal

如何将这两个函数合并在一行中,以便可以将位置设置为get-location的结果?

1 个答案:

答案 0 :(得分:2)

使用命令替换

set-location "$(get-location)"