shell脚本生成临时shell脚本(脚本中可能带单引号或者双引号的字符串)

  1. echo 重定向dst.sh
    比如从数据库中获取到一个字符串,然后要写到一个文件。
    a=xxx'ooo'hhhh'eeee$a
    a就是从数据库中获取的字符串,比如将shell命令存到数据库,然后其他客户端从数据库中获取命令,写到shell脚本,然后执行shell脚本,就可能出现问题。因为在shell中定义a,因为a是一个字符串,在shell中 首先要保证a中的特殊字符不会被展开,比如最后的$a,那么a=xxx'ooo'hhhh'eeee$a就要变成字符串,最外层就要用单引号括起来,即a='xxx'ooo'hhhh'eeee$a',但是因为字符串中可能含有单引号,就会导致单引号匹配问题。
    所以想要原封不动的将a通过shell写到一个shell文件,就必须在写之前将单引号'或者双引号"或者反斜杠\替换成ascii码,然后在写的时候用echo -e 去转换ascii码
echo -e  "\x22" 输出双引号

2.here document (cat << EOF)

cat <<EOF >dst.sh
str="content from mysql"
EOF
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 注入攻击的分类 1.没有正确过滤转义字符 在用户的输入没有为转义字符过滤时,就会发生这种形式的注入式攻击,它会被传...
    查无此人asdasd阅读 1,861评论 0 5
  • [SQL注入攻击] SQL注入攻击是黑客对数据库进行攻击的常用手段之一。随着B/S模式应用开发的发展,使用这种模式...
    James黄杰阅读 2,973评论 0 30
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,330评论 0 38
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 101,013评论 9 468
  • 大家好,欢迎您来到我的美文简书制作空间! 我是龙游天下,来自山东枣庄。出生在一个贫苦的农村家庭,在很小的时候就帮助...
    山东_龙游天下阅读 445评论 0 4

友情链接更多精彩内容