{"id":1201,"date":"2022-02-24T13:10:37","date_gmt":"2022-02-24T13:10:37","guid":{"rendered":"http:\/\/www.liutianfeng.com\/?p=1201"},"modified":"2022-02-24T13:10:37","modified_gmt":"2022-02-24T13:10:37","slug":"echo-e-utf-8%e7%bc%96%e7%a0%81%ef%bc%8c%e5%af%bc%e8%87%b4%e5%bc%82%e5%b8%b8","status":"publish","type":"post","link":"https:\/\/www.liutianfeng.com\/?p=1201","title":{"rendered":"echo -e + UTF-8\u7f16\u7801\uff0c\u5bfc\u81f4\u5f02\u5e38"},"content":{"rendered":"<p>\u8bb0\u5f55\u4e00\u4e2a\u5947\u8469\u7684\u95ee\u9898\u3002\u3002\u3002<\/p>\n<p>\u4eca\u5929\u5728\u5199shell\u7684\u65f6\u5019\uff0c\u8c03\u7528curl\u8c03\u7528python\u5199\u7684\u63a5\u53e3\uff0c\u4e00\u76f4\u62a5\u8fd9\u6837\u7684\u95ee\u9898\u3002<\/p>\n<pre class=\"pure-highlightjs\"><code class=\"\">*** Error in `sh': double free or corruption (out): 0x0000000001e9d740 ***\r\n======= Backtrace: =========\r\n\/lib64\/libc.so.6(+0x81329)[0x7f09673fe329]\r\nsh(echo_builtin+0x16b)[0x46e01b]\r\nsh[0x42f27b]\r\nsh[0x4351dc]\r\nsh[0x4309f4]\r\nsh(execute_command_internal+0xa83)[0x4322e3]\r\nsh[0x435441]\r\nsh(execute_command_internal+0x1a4f)[0x4332af]\r\nsh(execute_command_internal+0x10f3)[0x432953]\r\nsh(execute_command+0x4e)[0x433cce]\r\nsh(execute_command_internal+0x10b7)[0x432917]\r\nsh(execute_command+0x4e)[0x433cce]\r\nsh(execute_command_internal+0x10b7)[0x432917]\r\nsh(execute_command_internal+0xfdf)[0x43283f]\r\nsh[0x434e2f]\r\nsh[0x4316f1]\r\nsh(execute_command_internal+0xa83)[0x4322e3]\r\nsh(parse_and_execute+0x334)[0x46f6e4]\r\nsh[0x46ef43]\r\nsh(source_file+0x3d)[0x46f1ad]\r\nsh(source_builtin+0x12f)[0x47786f]\r\nsh[0x42f27b]\r\nsh[0x4313d9]\r\nsh(execute_command_internal+0xa83)[0x4322e3]\r\nsh(execute_command+0x4e)[0x433cce]\r\nsh(reader_loop+0x195)[0x41e305]\r\nsh(main+0xc4e)[0x41c96e]\r\n\/lib64\/libc.so.6(__libc_start_main+0xf5)[0x7f096739f555]\r\nsh[0x41d40a]\r\n======= Memory map: ========\r\n00400000-004dd000 r-xp 00000000 fd:11 132640                             \/usr\/bin\/bash\r\n006dd000-006de000 r--p 000dd000 fd:11 132640                             \/usr\/bin\/bash\r\n006de000-006e7000 rw-p 000de000 fd:11 132640                             \/usr\/bin\/bash\r\n006e7000-006ed000 rw-p 00000000 00:00 0 \r\n01e1d000-01ee1000 rw-p 00000000 00:00 0                                  [heap]\r\n7f0960000000-7f0960021000 rw-p 00000000 00:00 0 \r\n7f0960021000-7f0964000000 ---p 00000000 00:00 0 \r\n7f0966f54000-7f0966f69000 r-xp 00000000 fd:11 528991                     \/usr\/lib64\/libgcc_s-4.8.5-20150702.so.1\r\n7f0966f69000-7f0967168000 ---p 00015000 fd:11 528991                     \/usr\/lib64\/libgcc_s-4.8.5-20150702.so.1\r\n7f0967168000-7f0967169000 r--p 00014000 fd:11 528991                     \/usr\/lib64\/libgcc_s-4.8.5-20150702.so.1\r\n7f0967169000-7f096716a000 rw-p 00015000 fd:11 528991                     \/usr\/lib64\/libgcc_s-4.8.5-20150702.so.1\r\n7f096716a000-7f0967176000 r-xp 00000000 fd:11 529051                     \/usr\/lib64\/libnss_files-2.17.so\r\n7f0967176000-7f0967375000 ---p 0000c000 fd:11 529051                     \/usr\/lib64\/libnss_files-2.17.so\r\n7f0967375000-7f0967376000 r--p 0000b000 fd:11 529051                     \/usr\/lib64\/libnss_files-2.17.so\r\n7f0967376000-7f0967377000 rw-p 0000c000 fd:11 529051                     \/usr\/lib64\/libnss_files-2.17.so\r\n7f0967377000-7f096737d000 rw-p 00000000 00:00 0 \r\n7f096737d000-7f0967541000 r-xp 00000000 fd:11 528971                     \/usr\/lib64\/libc-2.17.so\r\n7f0967541000-7f0967740000 ---p 001c4000 fd:11 528971                     \/usr\/lib64\/libc-2.17.so\r\n7f0967740000-7f0967744000 r--p 001c3000 fd:11 528971                     \/usr\/lib64\/libc-2.17.so\r\n7f0967744000-7f0967746000 rw-p 001c7000 fd:11 528971                     \/usr\/lib64\/libc-2.17.so\r\n7f0967746000-7f096774b000 rw-p 00000000 00:00 0 \r\n7f096774b000-7f096774d000 r-xp 00000000 fd:11 528987                     \/usr\/lib64\/libdl-2.17.so\r\n7f096774d000-7f096794d000 ---p 00002000 fd:11 528987                     \/usr\/lib64\/libdl-2.17.so\r\n7f096794d000-7f096794e000 r--p 00002000 fd:11 528987                     \/usr\/lib64\/libdl-2.17.so\r\n7f096794e000-7f096794f000 rw-p 00003000 fd:11 528987                     \/usr\/lib64\/libdl-2.17.so\r\n7f096794f000-7f0967974000 r-xp 00000000 fd:11 134573                     \/usr\/lib64\/libtinfo.so.5.9\r\n7f0967974000-7f0967b74000 ---p 00025000 fd:11 134573                     \/usr\/lib64\/libtinfo.so.5.9\r\n7f0967b74000-7f0967b78000 r--p 00025000 fd:11 134573                     \/usr\/lib64\/libtinfo.so.5.9\r\n7f0967b78000-7f0967b79000 rw-p 00029000 fd:11 134573                     \/usr\/lib64\/libtinfo.so.5.9\r\n7f0967b79000-7f0967b9b000 r-xp 00000000 fd:11 528958                     \/usr\/lib64\/ld-2.17.so\r\n7f0967d92000-7f0967d95000 rw-p 00000000 00:00 0 \r\n7f0967d97000-7f0967d98000 rw-p 00000000 00:00 0 \r\n7f0967d98000-7f0967d9a000 rw-p 00000000 00:00 0 \r\n7f0967d9a000-7f0967d9b000 r--p 00021000 fd:11 528958                     \/usr\/lib64\/ld-2.17.so\r\n7f0967d9b000-7f0967d9c000 rw-p 00022000 fd:11 528958                     \/usr\/lib64\/ld-2.17.so\r\n7f0967d9c000-7f0967d9d000 rw-p 00000000 00:00 0 \r\n7ffe8fcf7000-7ffe8fd18000 rw-p 00000000 00:00 0                          [stack]\r\n7ffe8fdbe000-7ffe8fdc1000 r--p 00000000 00:00 0                          [vvar]\r\n7ffe8fdc1000-7ffe8fdc2000 r-xp 00000000 00:00 0                          [vdso]\r\nffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]<\/code><\/pre>\n<p>\u7ecf\u8fc7\u957f\u65f6\u95f4\u5b9a\u4f4d\uff0c\u786e\u5b9a\u63a5\u53e3\u8c03\u7528\u6ca1\u6709\u95ee\u9898\uff0c\u63a5\u53e3\u8fd4\u56de\u7684json\u4e2d\uff0cUTF-8\u7684\u4e2d\u6587\u7528\u7528\\code\u4e86\uff0c\u5982\u4e0b\uff1a<\/p>\n<pre class=\"pure-highlightjs\"><code class=\"\">{\"status\": \"success\", \"error\": \"\", \"error_code\": \"\", \"data\": \"\\u83b7\\u53d6\\u6570\\u636e\\u5e93\\u6d41\\u6c34\\u7ebfpod\\u65e5\\u5fd7_202202242106423618\"}<\/code><\/pre>\n<p>\u800c\u540e\u9762shell\u5904\u7406\u7684\u65f6\u5019\uff1a<\/p>\n<pre class=\"pure-highlightjs\"><code class=\"\">RESULT=`curl balabala`\r\necho -en \"${RESULT}\" |grep \"sucess\"<\/code><\/pre>\n<p>\u5c31\u51fa\u73b0\u4e86\u8fd9\u6837\u7684\u62a5\u9519\u3002<\/p>\n<p><strong>\u89e3\u51b3\u65b9\u6cd5\uff1a<\/strong><\/p>\n<pre class=\"pure-highlightjs\"><code class=\"\">echo -en\r\n--&gt; \r\necho -n  # \u4e0d\u8981\u7528-e\u5728\u9009\u9879<\/code><\/pre>\n<p>&nbsp;<\/p>\n<p>\u8f6c\u8f7d\u8bf7\u6ce8\u660e\uff1a<a href=\"https:\/\/www.liutianfeng.com\">liutianfeng.com<\/a> &raquo; <a href=\"https:\/\/www.liutianfeng.com\/?p=1201\">echo -e + UTF-8\u7f16\u7801\uff0c\u5bfc\u81f4\u5f02\u5e38<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>\u8bb0\u5f55\u4e00\u4e2a\u5947\u8469\u7684\u95ee\u9898\u3002\u3002\u3002 \u4eca\u5929\u5728\u5199shell\u7684\u65f6\u5019\uff0c\u8c03\u7528curl\u8c03\u7528python\u5199\u7684\u63a5\u53e3\uff0c\u4e00\u76f4\u62a5\u8fd9\u6837\u7684\u95ee\u9898\u3002  [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=\/wp\/v2\/posts\/1201"}],"collection":[{"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1201"}],"version-history":[{"count":1,"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=\/wp\/v2\/posts\/1201\/revisions"}],"predecessor-version":[{"id":1202,"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=\/wp\/v2\/posts\/1201\/revisions\/1202"}],"wp:attachment":[{"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1201"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1201"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.liutianfeng.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1201"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}