2014-02-07 3 views
7

여러 버전의 PHP가 설치되어 있고 일반적인 개발을 위해 항상 homebrew를 통해 설치된 PHP 5.5.x를 사용합니다. 물고기에서 Fish Shell에서 내보내기 설정하기

는 경로가 올바른지

which php & php --version 
=> /usr/local/bin/php 
=> PHP 5.5.8 (cli) (built: Jan 16 2014 15:58:25) 

쉘.

내 문제는 Drupal을 사용하여 개발할 때 MAMP를 번들 형 램프 스택으로 사용하고 MAMP에는 자체 PHP 버전이 포함되어 있다는 점입니다. 내 문제는 드루팔 (Drupal과 함께 Drush를 사용할 때 나는 보통 bash 에서처럼 PHP 실행 경로를 설정할 수 없다는 것이다. drush가 번들 PHP 버전/실행 파일 만 사용하기를 원합니다.

# 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을 실행하면 항상 다음과 같이 표시됩니다.

내가 Bourne 쉘에서 같은 명령을 실행할 때 나는 올바른 설정 얻을 :

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에 수출 경로를 설정하기를?

답변

10

Derp.

구문이 약간 다르긴했지만 알아 냈습니다.

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

및 drush 올바른 PHP 간부 경로를 가져옵니다이 문제를 가진 사람은,이 같은 수출을 설정할 수 있습니다.

다른 쉘과 비교하여 물고기에서 set이 어떻게 작동하는지 이해하려면 를 참조하십시오. 기본적으로 :

경우
set variable value 
12

그냥 다음 파일을 생성, 물고기 쉘에 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 foo=123 
echo $foo