如何在bash中将ASCII字符转换为整数?

aka*_*nuk 14 bash

我正在解析 ntpq 输出以通过控制台实用程序将其内容传递到我们的数据库。第一个元素是一个包含远程状态的单字符子字符串。它可以是“*”、“+”、“o”、“#”等。我最好把它作为数字放到数据库中,这样存储过程就可以很容易地保存它,但我不知道,如何将字符转换为 bash 中的 ASCII 表示。

sup*_*ami 21

将您的角色放入变量 A 中。

printf '%d\n' "'$A"

一些例子:

$ A="*"; printf '%d\n' "'$A"
42
$ A="+"; printf '%d\n' "'$A"
43
$ A="#"; printf '%d\n' "'$A"
35
$ A="o"; printf '%d\n' "'$A"
111
Run Code Online (Sandbox Code Playgroud)

  • 这可能不言而喻,但变量本身不是必需的:例如,`printf '%d\n' "'*"`。 (2认同)