在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
轉義並打印了出來.