首页 文章

在Fish Shell中设置导出

提问于
浏览
8

我安装了多个版本的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)

路径是正确的 .

我的问题是,当我必须使用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

但这不适用于鱼壳,我试过这个(没有成功):

鱼配置位置: ~/.config/fish/config.fish

set -x DRUSH_PHP=/Applications/MAMP/bin/php/php5.5.3/bin/php

如果我用 drush status 运行fishshell,我总是这样:

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                 :  Darwin
 Drush version          :  6.2.0
 Drush configuration    :
 Drush alias files      :
 Drupal root            :  /Applications/MAMP/htdocs/Sandbox/dev
 Site path              :  sites/default
 File directory path    :  sites/default/files

当我在bourne shell中运行相同的命令时,我得到了正确的设置:

Drupal version                  :  7.26                                        
  Site URI                        :  http://default                              
  Database driver                 :  mysql                                       
  Database username               :  root                                        
  Database name                   :  dev-db                                      
  Database                        :  Connected                                   
  Drupal bootstrap                :  Successful                                  
  Drupal user                     :  Anonymous                                   
  Default theme                   :  bartik                                      
  Administration theme            :  seven                                       
  PHP executable                  :  /Applications/MAMP/bin/php/php5.5.3/bin/php 
  PHP configuration               :  /Applications/MAMP/bin/php/php5.5.3/conf/php.ini                                       
  PHP OS                          :  Darwin                                      
  Drush version                   :  6.2.0                                       
  Drush configuration             :                                              
  Drush alias files               :                                              
  Drupal root                     :  /Applications/MAMP/htdocs/Sandbox/dev       
  Site path                       :  sites/default                               
  File directory path             :  sites/default/files                         
  Temporary file directory path   :  /Applications/MAMP/tmp/php

那么,如何设置鱼的DRUSH_PHP的导出路径?

2 回答

  • 12

    如果您想在fish shell中模拟 export 命令,只需创建以下文件:

    ~/.config/fish/functions/export.fish

    function export
        if [ $argv ] 
            set var (echo $argv | cut -f1 -d=)
            set val (echo $argv | cut -f2 -d=)
            set -g -x $var $val
        else
            echo 'export var=value'
        end
    end
    

    启动一个新终端,然后按预期从鱼壳中运行 export

    export foo=123
    echo $foo
    
  • 13

    DERP .

    语法有点不同,但我想出来了 . 任何人遇到此问题,您可以将导出设置为:

    set -x DRUSH_PHP /Applications/MAMP/bin/php/php5.5.3/bin/php

    和drush获取正确的PHP exec路径 .

    请参阅set documentation以了解 set 如何在Fish中工作而不是其他shell . 基本上:

    set variable value
    

相关问题