我想执行一个包含十六进制转义序列的字符串中的命令,例如\x20
。
例如,如果字符串是ls\x20/usr/bin/
,那么我想运行命令ls /usr/bin/
。
我该如何做到这一点?
好的,可读性更高的方法包含3行:
CMD="ls\x20/usr/bin/"
OUTPUT="$(echo -e $CMD)"
eval "${OUTPUT}"
使用echo -e
命令可以将字符串转换,并把转换后的字符串存储在OUTPUT中。然后只需要使用eval :)
希望这会对您有所帮助。
一行代码(就像您说的那样):
$(echo -e "ls\x20/usr/bin/")