比如:
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
执行出错,因为里面有个'。
|
RIcterAug 12, 2015 via iPhone
1
\\\\
\\\' |
|
ETiVAug 12, 2015
2
$x = "echo 'x\\y\\z';";
eval($x); echo 的东西单引号一下? |
|
realpgAug 12, 2015
3
x = "echo x\\y\\z"
eval $x 这个不报错? |
|
flowfireAug 12, 2015
4
1L + 1 ,遇到这种情况只需要加一层反斜杠就好了。。
|
|
SoloCompanyAug 12, 2015
5
换成单引号就行
eval 'echo x\\y\\z' x\y\z 双引号的话,一开始 shell 解释就去掉了一层 \\,然后 eval 再解释一次就没了 |