ascii() {printf '%d' "'$1"}
我目前正在使用此函数将字符转换为 ASCII,但是我只想将函数的结果存储为变量而不打印 ascii。我该怎么办呢? (请记住,我总共只使用了几个小时的 bash,如果这是一个愚蠢的问题,我很抱歉。)
在 bash 中,之后
printf -v numval "%d" "'$1"
变量numval
(您可以使用任何其他有效的变量名称)将保存位置参数中包含的字符串的第一个字符的数值$1
.
或者,您可以使用命令替换:
numval=$(printf "%d" "'$1")
请注意,这些仍然使用printf
但不会打印任何内容stdout
.
正如评论中所述@查尔斯·达菲 https://stackoverflow.com/users/14122/charles-duffy, the printf -v
版本更高效,但可移植性较差(标准 POSIX shell 不支持-v
选项)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)