linux 獲取運行腳本的路徑,設置成環境變量,使用時判斷環境變量是否存在

獲取腳本路徑

    ~~~~這裏我也繞了不少圈吧,之前一直使用pwd,後來發現,pwd獲取的是工作目錄,如果你在其他目錄運行腳本,pwd獲取的就會有問題,然後後來使用$0,然後還是有問題調用方式不同會有不同的結果,就比如
使用一個文件調用bash,那$0的值,是那個文件的名字。留下正確的方法:

basepath=$(cd `dirname $0`; pwd)

這裏解釋一下:

dirname $0:取得當前執行的腳本文件的父目錄
cd `dirname $0`:進入這個目錄(切換當前工作目錄)
pwd:顯示當前工作目錄(cd執行後的)

設置成環境變量

    ~~~~我們使用sh腳本的時候,都需要我們目標的路徑,但是很多時候運行都是在腳本里面,同時不希望帶參數,這個時候我們就可以設置環境變量,在安裝的腳本里面直接設置好環境變量,這樣下次使用就不需要帶參數,我們就用上面的路徑做測試。

#主要分成兩步,第一修改當前環境變量同時生效,第二設置下次啓動時,環境變量自動增加
#修改當前運行的環境變量 假設設置的環境變量是TEST_HOME,basepath是上面獲取的sh腳本的路徑
export TEST_HOME=$basepath
#先修改/etc/profile文件權限爲666
chmod 666 /etc/profile 
#這裏是添加export TEST_HOME=$basepat到/etc/profile文件最後一行
echo "export TEST_HOME=$basepath" >> /etc/profile
#權限改回去,一般默認就是644
chmod 644 /etc/profile 

這樣一行就可以直接使用$TEST_HOME就可以了。

判斷環境變量是否存在

Shell中判斷某個環境變量是否存在以及獲取某個環境變量的值

#!/bin/bash
 if   [   $TOMCAT_HOME   ]; 
then 
     echo   "not   found " 
else 
    #exsit
fi

#-z  是判斷是否字符是不是""
if [ -z   $TMPPATH   ];   then 
    echo "no   tmppath " 
else 

fi

帶一個博客地址http://blog.sina.com.cn/s/blog_633fdd420100pnt4.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章