Bash - 十六进制到字符串

时间:2010-10-07 17:54:14

标签: bash

在bash中,如何转换十六进制编码的字符串,如下所示:

2e2f65202d6b2022616622

\x2e\x2f\x65\x20\x2d\x6b\x20\x22\x61\x66\x22

(或类似的东西):

./e -k "af"

...然后执行它?

谢谢!

2 个答案:

答案 0 :(得分:3)

eval `printf "\x2e\x2f\x65\x20\x2d\x6b\x20\x22\x61\x66\x22"`

答案 1 :(得分:0)

我能想到的最合适的方法是通过一个功能。

例如:

exec_hex_str() {
    cmd_val=$(printf "$1")
    echo "Executing: $cmd_val"
    eval $cmd_val
}