linux中動態shell的處理手法
1.source的使用
① 執行文件
source ${filename}
② 標准入力
source <(echo "xxxxxxx")
注意點:
執行的命令中,必須干干淨淨,不能像寫腳本那樣帶有注釋
2. awk ‘$8==$8’ 與 tee
①awk 列自身相等
[html]
if [ ! -z $sex ] && [ ! "$sex" -eq "2" ];then
sexCmd='awk $8=='${sex}
else
sexCmd='awk $8==$8'
fi
② tee
[plain]
if [ ! -z $sex ] && [ ! "$sex" -eq "2" ];then
sexCmd='awk $8=='${sex}
else
sexCmd='tee'
fi
動態拼接成執行命令
[plain]
cat ${tbld}/KOKYAKU_MASTER |
${kokyakuidCmd} |
${sexCmd} |
${nenreiCmd} |
${nendaiCmd} |
${gurupuCmd}
經測試 : tee 比起 awk 相當相當的節省時間
在動態拼接中,最惡心的還是單引號,這玩意輸入強引用,一定要控制好
一個笨辦法 : 兩個單引號在動態拼接中相當於一個單引號(和MSSQL的動態拼接一樣)
上面的劃掉了,因為在測試中,跟蹤發現
sexCmd 變量賦值的時候是 :
[html]
+ sexCmd='awk $8==1'
動態拼接成執行語句的時候,自動變成了awk的合法執行方式
[plain]
+ cat /BSK/TBL/KOKYAKU_MASTER
+ tee
+ awk '$8==1'