在Linux中, 我们时常要将一个命令的输出作为另外一个命令的输入进行下一步处理操作. 有时, 如果一个命令的输出中有不可见的控制字符时, 有可能会导致后续操作出错. 而这些控制字符很可能是不可打印的, 比如\n, \r等. 这就给我们的调试排错带来很多不便. 这时, 我们可以使用od命令来将这些特殊字符转义并打印出来.
比如, 我们将下面的错误信息进行转义:
# msg=$( ssh abc 2>&1 )
# echo "${msg}" | od -c
0000000 s s h : C o u l d n o t r
0000020 e s o l v e h o s t n a m e
0000040 a b c : N a m e o r s e r
0000060 v i c e n o t k n o w n \r \n
0000100
od -c将输入每两个字节转换为可打印字符, 如果是不可打印的特殊控制字符, 就将其转义字符组合打印出来. 上面的例子中, 就将结束位置的\r\n转义并打印了出来.