Gbase入库异常:sed: -e expression #1, char 29: unknown option to `s'

原创 2018年04月15日 21:52:30

异常:用shell执行Gbase入库的脚本,一直报错,逐一排查问题

异常一:如标题        sed: -e expression #1, char 103: unknown option to `s'  

检查发现入库的脚本中有一个传入服务器密码的变量替换未成功,脚本中中有一句变量(变量为服务器密码)替换的命令为

sed -i "s#pwd#$pwd#g" dir/test.sql

发现密码中本身带有“#“(ahfih#3rjkjhJ)号,那么替换命令中的#符会报错,修改#为!

sed -i "s!pwd!$pwd!g" dir/test.sql

执行脚本替换成功,密码被正常替换到sql文件里

异常二:执行入库依然报错,提示连不上服务器,但是同样的脚本在其他服务器上是没问题的,所以

推测依然是密码中带#号的问题,因为#在shell中代表注释符,但是命令也是用''引用的,但是文件是.sql后缀的sql文件,可能写到sql文件里‘’没起作用,所以只能修改服务器密码了,改为(lkjfald%8238j),依然入库失败,但是异常代码变了

异常三:检查脚本依然没发现问题,只能一步步推测问题所在了,推测一:%号作为一个特殊符号,在sql文件里也可能阻碍了,sql文件的执行。继续修改服务器密码(fhkh!7nkfkdu)

入库成功!

所以建议大家入库的时候注意,.sql文件里慎用”#,%“等特殊符号。

个人观点,欢迎指正。

本人原创,转载请注明出处。

sed: -e expression #1, unknown option to `s'解决办法

写了个shell修改配置文件,但是后面都没有问题,有一行有问题 #!/bin/sh url=`cat datasource.properties|grep ^monitor.url|cut -d= ...
  • qq1124794084
  • qq1124794084
  • 2017-07-31 10:30:34
  • 5187

如何在sed中使用变量

最近写脚本经常需要用sed去改写文件,其中就遇到一个问题改写的内容可以通过变量来控制. 例如,更改mysql配置文件的server-id PORT=3307 sed -i '...
  • big1980
  • big1980
  • 2013-03-06 14:55:45
  • 5111

Linux替换变量中包含空格 sed: -e expression #1, char 6: unterminated `s' command

Linux替换变量中包含空格 sed: -e expression #1, char 6: unterminated `s' command
  • wengyupeng
  • wengyupeng
  • 2016-07-06 17:16:31
  • 10107

shell脚本中的``导致sed命令解析失败

``导致sed命令解析失败,试验如下试图把单个反斜线替换为两个反斜线,也就是把替换为\$ cat t1.sh#!/bin/sha=`echo 1|sed s/\/\\/g`echo $a$ ./t1....
  • justkk
  • justkk
  • 2010-10-16 11:04:00
  • 5914

sed: -e expression #1, char 103: unknown option to `s'

用shell脚本实现服务器配置修改
  • u011804580
  • u011804580
  • 2015-03-30 15:40:51
  • 6097

sed -e 's/\(.*\)\.\w/\1.o/'

怎么理解这个命令?\(.*\)\.\w这个又是什么意思?来自如下代码 $(obj).depend:  $(src)Makefile $(TOPDIR)/config.mk $(SRCS) $(H...
  • win2domain
  • win2domain
  • 2016-06-15 22:33:50
  • 992

sed: -e expression #1, unknown option to `s' 解决办法

sed: -e expression #1, unknown option to `s'解决办法 需要替换的行为: monitor.url=http://192.168.25.100:8443...
  • HeatDeath
  • HeatDeath
  • 2018-03-09 14:56:06
  • 40

sed识别regular expression

小弟在sed使用中,对正则表达式有几个地方犯迷糊,为了彻底弄明白,试验之…… 特将结果呈与各位,请师兄们批评指正!也让初学者少走弯路。虽说有些问题在明白之后,感觉很简单,贴出来好像没必要;但在明白之前...
  • zhangbg
  • zhangbg
  • 2011-03-13 18:17:00
  • 5437

sed编辑器基础之替换命令(二)

sed根据模式替换的命令格式是这样的:s/pattern/replacement/flags其中flags可以写数字,数字是多少,就是第几个位置:我们还是看栗子吧。首先新建一个文件名为data的文本作...
  • sinat_36246371
  • sinat_36246371
  • 2016-11-03 13:39:58
  • 222

linux sed 命令

======博主所学知识来着于恩师马哥的亲授====== 马哥教育“2014夏令营”开始啦!!!马哥教育是目前性价比最高的Linux培训,国内好评度排名第一,并被网友称为Linux界的"黄埔军校...
  • linuxarmsummary
  • linuxarmsummary
  • 2015-04-15 23:46:29
  • 7078
收藏助手
不良信息举报
您举报文章:Gbase入库异常:sed: -e expression #1, char 29: unknown option to `s'
举报原因:
原因补充:

(最多只允许输入30个字)