我想更新我的鱼壳使用MAMP的php的当前版本(任何版本目前正在使用)。
我找到了一篇关于如何在bash中做到这一点的优秀文章,但我似乎不知道如何在fish中实现这一点?
文章是:如何重写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
如何在鱼类中实现这一点?Fish想把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教程中介绍。
通常您可以简单地修改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安全漏洞的来源),并且不是fish支持的东西。您应该将/Applications/MAMP/Library/bin/mysql
安排在PATH中,这样子脚本就可以找到您的可执行文件。和前面一样:
set -x PATH /Applications/MAMP/Library/bin/ $PATH