joh*_*nes 2 shell null makefile escaping
在Makefile中我运行一个shell命令,我想传递一个NULL字节作为参数.以下尝试失败:
echo $(shell /bin/echo -n $$'\x00' | ruby -e "puts STDIN.read.inspect")
Run Code Online (Sandbox Code Playgroud)
它产生:
echo "$\\x00"
Run Code Online (Sandbox Code Playgroud)
相反,我期望:
echo "\u0000"
Run Code Online (Sandbox Code Playgroud)
如何正确地转义这样的NULL字节?
echo默认情况下禁用反斜杠转义的解释.您需要提供-e启用它的选项.
$ echo -ne "\x00" | ruby -e "puts STDIN.read.inspect"
"\u0000"
Run Code Online (Sandbox Code Playgroud)