簡體   English   中英

Fish Shell - 如何在PATH中設置變量路徑

[英]Fish Shell - How to set a variable path in PATH

我想更新我的fish shell以使用MAMP的當前版本的php(當前正在使用的版本)。

我發現了一篇關於如何在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

你是如何在魚類中實現這一目標的? Fish想要將PHP_VERSION導出為字符串。

並且還使用這些commmand別名來使用當前版本的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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM