bash中'\ n'$ char的含义是什么?

时间:2016-02-16 09:01:27

标签: python bash printf

我在bash中调试一些代码并尝试在python中实现它。但是我无法理解下面这段代码:

echo "CBCC<FCEEFFGGG99@,9CF9EF9" \
| grep -o . \
| while read char; do 
     printf "%d\n" \'$char; 
  done

这给出了以下输出:

 67 66 67 67 60 70 67 69 69 70 70 71 71 71 57 57 64 44 57 67 70 57 69 70 57

我找不到信息的部分位于 printf 语句中。 \'$char代表什么,为什么使用它?我怎样才能翻译成python?

非常感谢你的帮助!

3 个答案:

答案 0 :(得分:3)

'X

for printf会将X解释为数字

\'X

反斜杠是转义字符,否则你需要关闭引号

ord(X)

应该在python

中做到这一点

答案 1 :(得分:1)

反斜杠转义shell中的单引号(否则会启动带引号的字符串)。实际效果是文字单引号粘贴在变量char的值前面。

答案 2 :(得分:1)

实际上,您打印上述字符串中每个字符的Ascii代码的十进制值。

so \'$ char将接受字符串中的字符

CBCC<FCEEFFGGG99@,9CF9EF9

并替换每个字符以打印其十进制值。