Tmux меняется на предустановленную версию nano по умолчанию вместо недавно установленной доморощенной версии

Если можно определить значения по умолчанию в переменной, вы сможете сделать:

function timer-raw() {
    defs=( loop fsayd )
    eval "sleep $((($1)*60))" && eval ${(q+@)@[2,-1]:-$defs}
}

Лично я не стал бы использовать eval, а просто сделал бы:

function timer-raw() {
    defs=( loop fsayd )
    sleep ${1}m && ${@[2,-1]:-$defs}
}
0
05.10.2021, 13:41
1 ответ

Если вы запустите echo $PATHдо открытия tmuxи сравните его с вашим PATHизнутри tmux, вы заметите, что они разные. По умолчанию tmuxзапускает новые оболочки в качестве оболочки входа в систему.

Оболочки входа в MacOS запускают утилиту под названием path_helper, найденную в /etc/profile. По умолчанию PATHпри чистой установке MacOS выглядит примерно так

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:

path_helperдобавляет эту строку к вашему PATH. Поэтому, когда вы запускаете nano, старая версия сначала находится в этом новом PATH.

Ответ на исправление этого досадного последствия приведен здесь от Грэма Эштона-

Очистите ваш PATHперед выполнением path_helper, добавив следующее в~/.bash_profile

if [ -f /etc/profile ]; then
    PATH=""
    source /etc/profile
fi

Не забудьте проголосовать за ответ Грэма, если это решит вашу проблему.

0
05.10.2021, 15:58

Теги

Похожие вопросы