Chinaunix
标题:
sed在命令行和在sh脚本里有区别
[打印本页]
作者:
c921967783
时间:
2018-10-08 15:07
标题:
sed在命令行和在sh脚本里有区别
我这里对配置要进行管理,因为其他事情多就暂时用shell脚本去控制某几个环境的配置。
这里主要修改的配置是 zas.url=http\://127.0.0.1\:8081/zsa
sed替换因为有转义符所以在命令行要这样写sed -i 's#zas.url=http\\://127.0.0.1\\:8081/zsa#zas.url=http\\://127.0.0.1\\:9305/zsa#' env.properties
但是我在shell脚本里打算把zas.url=http\://127.0.0.1\:8081/zsa 替换成zas.url=http\\://127.0.0.1\\:8081/zsa时发现怎么着都不行,我是获取zas.url=http\://127.0.0.1\:8081/zsa字段把它存入test1,然后设置test11=`echo $test1|sed "s#\\#\\\\#g"`。这样怎么执行都是报错的。
同样的在命令行echo 'zas.url=http\://127.0.0.1\:8081/zsa' |sed 's/\\/\\\\/g' 这样就能改成功的
作者:
本友会机友会摄友会
时间:
2018-10-08 16:35
提示:
作者被禁止或删除 内容自动屏蔽
作者:
wh7211
时间:
2018-10-10 11:43
回复
1#
c921967783
cat 1
zas.url=http\://127.0.0.1\:8081/zsa
cat 1.sh
#!/bin/bash
sed -i 's#zas.url=http\\://127.0.0.1\\:8081/zsa#zas.url=http\\\\://127.0.0.1\\\\:9305/zsa#' 1
./1.sh
cat 1
zas.url=http\\://127.0.0.1\\:9305/zsa
复制代码
作者:
c921967783
时间:
2018-10-16 10:36
回复
3#
wh7211
感谢各位回复
sed -i 's#zas.url=http\\://127.0.0.1\\:8081/zsa#zas.url=http\\\\://127.0.0.1\\\\:9305/zsa#' 1
这样是可以,但是我把sed替换的内容转换成变量形式就怎么也行不通
例如
echo 'zas.url=http\://127.0.0.1\:8081/zsa' |sed 's/\\/\\\\/g' 这样写的结果是:
zas.url=http\\://127.0.0.1\\:8081/zsa(想要的结果)
但是
把
zas.url=http\://127.0.0.1\:8081/zsa存入变量 zsa1后,在shell脚本里用
test11=`echo $test1|sed "s#\\#\\\\#g"`
echo $test11
这种方式替换不成功(不知道是不是转义的问题,整个变量转义么,perl里有但shell查了下没查到)
作者:
c921967783
时间:
2018-10-16 10:37
本帖最后由 c921967783 于 2018-10-16 10:42 编辑
111111111111111111
作者:
c921967783
时间:
2018-10-16 10:38
本帖最后由 c921967783 于 2018-10-16 10:43 编辑
回复的时候报数据库问题导致重新发了几遍~~~~23333333
作者:
wh7211
时间:
2018-10-16 16:24
回复
4#
c921967783
test1='zas.url=http\://127.0.0.1\:8081/zsa'
test11=`echo $test1|sed 's#\\\#\\\\\\\\\\\#g'`
echo $test1
zas.url=http\://127.0.0.1\:8081/zsa
echo $test11
zas.url=http\\://127.0.0.1\\:8081/zsa
cat 1.sh
#!/bin/bash
test1='zas.url=http\://127.0.0.1\:8081/zsa'
test11=`echo $test1|sed 's#\\\#\\\\\\\#g'`
echo $test1
echo $test11
./1.sh
zas.url=http\://127.0.0.1\:8081/zsa
zas.url=http\\://127.0.0.1\\:8081/zsa
复制代码
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2