筆者最近在開發中遇到新舊版本不兼容的問題,需要我解析的內容更新到最新后對于舊的日志將不支持,所以我需要設置開關來區分是用新的腳本還是原來舊的腳本;
這樣我就遇到了比較基礎的問題,那就是在shell腳本中如何讀取環境變量并使用, 經過多方測試將我的一些方法寫一寫:
首先設置環境變量在命令行中設置就行:
$ setenv ?some_environment n ? (some_environment 為環境變量的名字; n 為 設置的環境變量的值)
然后再腳本中讀取并使用:
如果是直接當做數值使用,那么就如下讀取:
some_flag=${some_environment} ? ? ? ? "="等號兩邊不帶空格即是賦值;
還可以當做字符或者字符串來處理:
if [ "${some_environment}" == "some" ]; then
some_flag=1
else
some_flag=0
fi
"=="雙等號用來對比字符或者字符串是否相等,${} 用來取環境變量的值,如果用“”包起來,那么就是當做字符串來處理;
拿到環境變量并設置好自己的標志后,使用自己設置的flag時記得 使用 $somg_flag;
使用時判斷flag是否等于自己的預期值如下:
if [ $some_flag -eq n?]; then
do .......
else
do .......
fi
eq、ne等等用來比較數值是否相等;
以上便是我的解決辦法;