2017-02-25 21 views
0

我使用procmail来过滤涉及从mysql中检索结果的电子邮件,但是Procmail配方返回了我不想要的结果的列名。 变量结果未声明或行之前使用: 这里是我的procmail行:Procmail配方返回的列名和结果

{ 
result=`mysql -uuser -ppasscode dbname -e "select raw_data from tablex where id='"$msgID"'` 
result=`echo "$result" 
} 

如何诱骗/改写不要在结果返回raw_data

回答

0

这不是一个真正的Procmail问题。具体而言,对于MySQL,获取无标头查询结果的方式是使用mysql -N -s,详见nominated duplicate question

在更一般的情况下,您可以在反引号内部使用任意复杂的shell脚本。要压制第一行,请通过tail +2进行管理。

result=`mysql ... whatever | tail +2` 

大括号没有做任何事情在这有限的情况下非常有用(虽然如果这是你不向我​​们展示一个配方的动作部分,它们是必要那里)。同样,result=`echo "$result"`根本没有做任何有用的事情,只是启动另一个shell来将变量的值分配给自己,clumsily.