我有一个绝对100%的剧本要以这种荒谬的方式来完成:
echo $'\ 150 \ 151 \ 073 \ 145 \ 143 \ 150 \ 157'$'\ 171 \ 141 \ 171'
(未编码:回声你好;回声耶)
问题是echo之后的所有内容都被认为是一个参数,所以分号和第二个echo命令也被输出。 有什么办法可以让shell真正parsing分号并分解这两个命令吗?
你可以在'\ 073'之前用NULL字符来尝试:
echo $'\150\151\0\073\145\143\150\157' $'\171\141\171
这样shell就会parsing';'
输出将是:
hi yay
并不是
hi yay
eval ? 反引号? 按每一行之间input? sh -c ? $() ? 还有其他的东西吗? 不知道你为什么要这样做,我们不能提供很多select,因为我们不知道你能用什么。
由于我没有login,所以不让我回复评论。
无论如何,所有的东西都必须用八行字符input。 没有`,没有$(没有进入,也没有eval,它是八进制或者什么也没有。
…我也不能编辑以前的消息。
我试过空字节,但它只是终止该string – 不是回声命令。 你的例子不会导致两个单独的命令,而是一个命令。 这是我后面的两个命令。