比如:
x = "echo x\\y\\z"
eval $x
输出是:xyz,而不是想要的x\y\z
再比如:
x = "echo x\\y\\z'a"
eval $x
执行出错,因为里面有个'。
x = "echo x\\y\\z"
eval $x
输出是:xyz,而不是想要的x\y\z
再比如:
x = "echo x\\y\\z'a"
eval $x
执行出错,因为里面有个'。
1
RIcter Aug 12, 2015 via iPhone
\\\\
\\\' |
2
ETiV Aug 12, 2015
$x = "echo 'x\\y\\z';";
eval($x); echo 的东西单引号一下? |
3
realpg PRO x = "echo x\\y\\z"
eval $x 这个不报错? |
4
flowfire Aug 12, 2015
1L + 1 ,遇到这种情况只需要加一层反斜杠就好了。。
|
5
SoloCompany Aug 12, 2015
换成单引号就行
eval 'echo x\\y\\z' x\y\z 双引号的话,一开始 shell 解释就去掉了一层 \\,然后 eval 再解释一次就没了 |