linux中动态shell的处理手法
linux中动态shell的处理手法
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'
评论暂时关闭