Объединение функций в Bash - PullRequest
0 голосов
/ 03 сентября 2018

Я записал две функции в мой файл ~/.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 голосов
/ 03 сентября 2018

Использовать подстановку команд

set-location "$(get-location)"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...