Fish Shell — Как установить переменный путь в PATH

Я хочу обновить свою рыбную оболочку, чтобы использовать текущую версию php от MAMP (какая версия используется в настоящее время).

Я нашел отличную статью о том, как сделать это в Bash, но я не могу понять, как добиться этого в рыбе?

Статья является: Как переопределить путь PHP, чтобы использовать путь MAMP?

В частности:

# Use MAMP version of PHP
PHP_VERSION=`ls /Applications/MAMP/bin/php/ | sort -n | tail -1`
export PATH=/Applications/MAMP/bin/php/${PHP_VERSION}/bin:$PATH

Как вы достигаете этого в рыбе? Рыба хочет на экспорт PHP_VERSION как строка

А также используя эти псевдонимы комманд для использования текущей версии MySQL

# Export MAMP MySQL executables as functions
# Makes them usable from within shell scripts (unlike an alias)
mysql() {
/Applications/MAMP/Library/bin/mysql "$@"}
mysqladmin() {
/Applications/MAMP/Library/bin/mysqladmin "$@"}
export -f mysql
export -f mysqladmin

Я пытался выяснить различные части этого, но из-за ограниченного понимания командной строки трудно понять, что «искать».

Цени любую помощь!

3

Решение

Настройка PATH рассматривается в рыба учебник.

Обычно вы можете просто изменить fish_user_paths, но так как вы хотите, чтобы путь определялся динамически при каждом запуске, проще установить PATH напрямую. Простой перевод:

set PHP_VERSION (ls /Applications/MAMP/bin/php/ | sort -n | tail -1)
set -x PATH /Applications/MAMP/bin/php/$PHP_VERSION/bin $PATH

Вы бы положили это в ~/.config/fish/fish.config

Что касается «экспорта функций», это всегда была подозрительная идея (она была источником этой ужасной дыры в безопасности bash) и не является чем-то, что рыба поддерживает. Вы должны просто вместо этого организовать /Applications/MAMP/Library/bin/mysql быть в PATH, чтобы дочерние скрипты могли найти ваши исполняемые файлы. Прямо как раньше:

set -x PATH /Applications/MAMP/Library/bin/ $PATH
5

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]