有人可以告诉我在fish shell中设置一堆环境变量的正确方法是什么?
在我的.config/fish/config.fish文件中,我有一个设置我的环境变量的函数
function setTESTENV
set -x BROKER_IP '10.14.16.216'
set -x USERNAME 'foo'
set -x USERPASS 'bar'
end
Run Code Online (Sandbox Code Playgroud)
当我从命令提示符键入setTESTENV并env在命令行中执行a 时,我看不到这些信息.
我安装了多个版本的PHP,对于我的正常开发,我总是使用通过homebrew安装的PHP 5.5.x.
在鱼壳里
which php & php --version
=> /usr/local/bin/php
=> PHP 5.5.8 (cli) (built: Jan 16 2014 15:58:25)
Run Code Online (Sandbox Code Playgroud)
路径是正确的.
我的问题是,当我必须使用Drupal开发时,我使用MAMP作为捆绑灯堆,并且MAMP包含自己的php版本.我的问题是当Drush与Drupal一起使用时,我不能像往常一样在bash中设置PHP可执行文件路径.我只想要使用捆绑的PHP版本/可执行文件.
在bash我可以这样做:
# Set Drush root to MAMP PHP
export DRUSH_PHP=/Applications/MAMP/bin/php/php5.5.3/bin/php
Run Code Online (Sandbox Code Playgroud)
但这不适用于鱼壳,我试过这个(没有成功):
鱼配置位置: ~/.config/fish/config.fish
set -x DRUSH_PHP=/Applications/MAMP/bin/php/php5.5.3/bin/php
Run Code Online (Sandbox Code Playgroud)
如果我用鱼壳运行drush status我总是得到这个:
Drupal version : 7.26
Site URI : http://default
Database driver : mysql
Database username : root
Database name : dev-db
Default theme : garland
Administration theme : garland
PHP executable : /usr/local/bin/php
PHP configuration : /usr/local/etc/php/5.5/php.ini
PHP OS : …Run Code Online (Sandbox Code Playgroud) 我安装了cargo构建环境。我cargo install exa用来安装exa(命令的替代品ls)。可执行文件放在$HOME/.cargo/bin. 我使用fishshell set -gx PATH $PATH $HOME/.cargo/bin,然后我可以exa在当前会话中使用命令。
但是当我打开一个新会话时,exa除非set -gx ...再次执行,否则我无法执行。
我查看选项gx:
--global -g (Make variable scope global)
--export -x (Export variable to subprocess)
Run Code Online (Sandbox Code Playgroud)
全局不是意味着每个会话吗?有人可以帮我吗?