我正在尝试用i2c总线将我的rasberry Pi连接到一些显示器上。为了开始,我想手动编写一些东西,特别是字节到文件中。如何将特定的字节写入文件?,我已经读过这篇文章了,我觉得我的问题应该通过这样的方法来解决
echo -n -e \x66\x6f\x6f > byteFileForNow但是,当我用nano而不是foo打开该文件时,我看到:
x66x6fx6f
因此反斜杠被转义,而不是字节本身。这次我也尝试了同样的方法,但没有使用-e,所以我本来可以看到\x66\x6f\x6f,但得到的结果和以前一样。
所以回波是逃避反斜杠,单独反斜杠和反斜杠,不管它是否应该。
知道怎么解决这个问题吗?
根据那本应该做我要找的事的手册。
发布于 2014-03-05 13:13:15
你必须把你的代码写进引号:
echo -n -e '\x66\x6f\x6f' > byteFileForNow否则,shell将将\x替换为x,然后再转到echo -e。
ps。双重逃逸也是有效的:
echo -n -e \\x66\\x6f\\x6f > byteFileForNow发布于 2014-03-05 13:19:19
这可能不会直接回答问题,但您也可以在十六进制模式下使用vi:
打开您的文件并键入: ESC :%!xxd以切换到十六进制模式。
您将能够编辑十六进制部分(文本部分将不会被更新,因为您更改了十六进制部分)。
完成后,再次单击转义并键入: ESC :%!xxd -r,以返回在十六进制模式下所做的更改(不要忘记随后保存)。
https://unix.stackexchange.com/questions/118247
复制相似问题