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