使用 Solaris 10 ipsec 时,必须将密钥转换为十六进制格式。因此,我需要一个命令来将文本转换为十六进制。
这条线工作正常
echo "mypassword" | od -t x1|head -1|tr -d ' ' |tr [a-z] [A-Z]
生产
00000006D7970617373776F72640A
无论如何使用在线转换器它会返回这个
6D7970617373776F72640A
作为一种解决方法我使用这个
echo "mypassword" | od -t x1|head -1|tr -d ' ' |cut -c 8-1000|tr [a-z] [A-Z]
它返回
6D7970617373776F72640A
问题是..为什么 od 返回那些 00000000?
0000000
是插入到每行开头的偏移量。根据手册页,可以使用选项更改偏移量-A, --address-radix: output format for file offsets; RADIX is one of [doxn], for Decimal, Octal, Hex or None
。如果您想要省略偏移量,请将其放入
-An
脚本中。