Я хочу обновить свою рыбную оболочку, чтобы использовать текущую версию 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
Я пытался выяснить различные части этого, но из-за ограниченного понимания командной строки трудно понять, что «искать».
Цени любую помощь!
Настройка 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
Других решений пока нет …