2010-10-07 66 views
1

在bash中,我怎麼能轉換成一個十六進制編碼的字符串是這樣的:巴什 - 十六進制字符串

2e2f65202d6b2022616622 

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

(或類似的東西)來:

./e -k "af" 

...然後執行它?

謝謝!

回答

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

我能想到的最合適的方法是通過函數。

例如:

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