1
我试图在包含十六进制转义序列的字符串中执行命令,例如\x20
。如何在bash eval字符串中使用十六进制转义符?
例如,如果字符串是ls\x20/usr/bin/
,那么我想运行命令ls /usr/bin/
。
我该怎么做?
我试图在包含十六进制转义序列的字符串中执行命令,例如\x20
。如何在bash eval字符串中使用十六进制转义符?
例如,如果字符串是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/")
注:这种方式是一条线,但它不工作与一切.. 它不会与别名工作,例如。
嗨I-V,这正是我需要的。非常感谢。 :) – cie
它与一行工作。 $(echo -e'ls \ x20/usr/bin') – cie