shell脚本中的``导致sed命令解析失败
2010-10-16 11:04
465 查看
``导致sed命令解析失败,试验如下
试图把单个反斜线替换为两个反斜线,也就是把\替换为\\
$ cat t1.sh
#!/bin/sh
a=`echo 1|sed 's/\\/\\\\/g'`
echo $a
$ ./t1.sh
sed:-e 表达式 #1,字符 8:unterminated `s' command
$ sh -x ./t3.sh
++ echo 1
++ sed 's/\/\\/g'
sed:-e 表达式 #1,字符 8:unterminated `s' command
+ a=
+ echo
应该是反斜线提前被shell解析,传给sed的时候已经变成s/\/\\/g
把``替换为$()的方式就可以了
$ cat t1.sh
#!/bin/sh
a=$(echo 1|sed 's/\\/\\\\/g')
echo $a
$ ./t1.sh
1
执行成功
试图把单个反斜线替换为两个反斜线,也就是把\替换为\\
$ cat t1.sh
#!/bin/sh
a=`echo 1|sed 's/\\/\\\\/g'`
echo $a
$ ./t1.sh
sed:-e 表达式 #1,字符 8:unterminated `s' command
$ sh -x ./t3.sh
++ echo 1
++ sed 's/\/\\/g'
sed:-e 表达式 #1,字符 8:unterminated `s' command
+ a=
+ echo
应该是反斜线提前被shell解析,传给sed的时候已经变成s/\/\\/g
把``替换为$()的方式就可以了
$ cat t1.sh
#!/bin/sh
a=$(echo 1|sed 's/\\/\\\\/g')
echo $a
$ ./t1.sh
1
执行成功
相关文章推荐
- shell脚本中赋值给变量中有空格, 导致命令执行失败
- 使用getopt命令解析shell脚本的命令行选项
- Linux 系统命令(cd之类的)在shell脚本中无效解析
- sync问题导致shell脚本执行失败
- Shell脚本sed命令
- shell 脚本入门--sed命令匹配
- linux-shell脚本命令之sed
- shell脚本中sqlite3命令查询数据库失败返回空,并将错误信息打印到标准错误输出
- shell脚本学习-5(sed命令学习)
- linux下shell脚本中sed命令使用变量
- shell脚本基础——常用的sed命令举例
- linux实战(二)----shell脚本监控实例-----日志截取三个命令在性能监控等运用中的实例解析
- linux实战(二)----shell脚本监控实例-----日志截取三个命令在性能监控等运用中的实例解析
- shell脚本三剑客之sed命令
- shell脚本学习-6(sed命令学习)
- linux实战(二)----shell脚本监控实例-----日志截取三个命令在性能监控等运用中的实例解析
- shell脚本的sed命令使用小结
- Makefile Shell 脚本;sed命令
- shell脚本编程:sed命令编辑文本
- shell脚本学习-7(sed命令学习)