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'  
 

相关内容

    暂无相关文章