2013-02-06 228 views
0

我試圖編寫一個腳本,以便在我的路徑中自動切換php5.3和5.4。雖然導出在我執行時會起作用,但它在腳本中運行時不會執行任何操作。導出工作在命令行但不是在bash腳本

這裏是我的腳本

#!/bin/bash 
# chphp 
# Switch between php versions 5.3 and 5.4 

FIXED_PATH=/here/is/my/path 

if [ "$1" != "-v" ] 
then 
    echo "Wrong usage of the script.\n" 
else 
    if [ "$2" == 3 ] 
    then 
      export PATH="$FIXED_PATH:/path/to/php-5.3/bin" 
      export PHP_INI_SCAN_DIR="" 
    elif [ "$2" == 4 ] 
    then 
      export PATH="$FIXED_PATH:/path/to/php-5.4/bin" 
      export PHP_INI_SCAN_DIR="/path/to/php-5.4/etc/php-dbg.d" 
    else 
      echo "Wrong usage of the script.\n" 
    fi 
fi 

我也試過下面,我發現通過搜索類似的問題,但他們沒有工作

. ./chphp.sh -v 3 

source ./chphp.sh -v 3 

任何建議或想法如何解決它或做不同的事情?

編輯:該代碼是缺少一個else第一回波後,肯特注意到了和我編輯。代碼現在以兩種方式運行!只有當$1-v

如果$1-v,你的腳本不執行任何

+0

腳本預計2個參數,你注意到了嗎? – Kent

+0

感謝您的評論,不幸的是我忘了在問題中輸入它。現在它被編輯了。 –

+0

由於@Kent注意到我在if語句中有錯誤。隨着。 ./chphp.sh -v 3命令現在可以工作。 –

回答

1

你的腳本將設置瓦爾。檢查您的腳本第一if-then

這是否有幫助嗎? (設置PHP5.3東西)

source ./chphp.sh foo 3 
+0

你說得對。我認爲我的眼睛很累。我打算把第一個回聲之後的部分代碼放到else中。謝謝您的幫助 :) –

相關問題