使用bash判斷PATH中是否存在某個路徑
在source設置環(huán)境變量的時候,有些時候可能會設置兩次,導致增加系統(tǒng)的路徑搜索時間,或者讓自己看環(huán)境變量的時候搞得怪不爽的。
為了解決這個問題,我們可以在設置相應的環(huán)境變量之前,先判斷一下是否已經(jīng)設置過,如果設置過,那就不要在設置了,如果沒有設置呢,當然你就可以設置下啦。
我用一個函數(shù)來判斷參數(shù)2的字符串是否存在與參數(shù)1中
function?isexist()
{
????source_str=$1
????test_str=$2
????
????strings=$(echo?$source_str?|?sed?'s/:/?/g')
????for?str?in?$strings
????do??
????????if?[?$test_str?=?$str?];?then
????????????return?0
????????fi??
????done
????return?1
}所以我們可以用一個判斷來測試下這個函數(shù)就行了,
舉個例子使用下這個函數(shù),
我想設置/opt/mpich/3.0.4/bin這個目錄到環(huán)境變量PATH中??梢赃@樣做
if?isexist?$PATH?/opt/mpich/3.0.4/bin;?then? ??echo?"no?need?to?set?it?..." else? ??export?PATH=/opt/mpich/3.0.4/bin:$PATH fi
OK 了,測試下吧。





