|
|
1
10
假设远程用户有一个posix shell,这应该可以工作:
为什么会这样?POSIX shell single quotes 定义为:
这里的想法是将字符串用单引号括起来。这一点本身就已经足够好了---除了一个单引号以外的每个字符都将被逐字解释。对于单引号,从单引号字符串(第一个
这对什么有用?
这应该适用于任何POSIX shell。我已经用破折号和重击测试过了。索拉里斯5.10
对于任意远程主机,我认为这是不可能的。我想
CSH/TCSH
稍有问题的是远程用户可能正在运行
TCSH似乎主要起作用。然而,我想不出一个引用新行的方法,这样它将是幸福的。在单引号字符串中包含换行符似乎会使tcsh不高兴:
除了换行之外,我所尝试的一切似乎都可以与tcsh一起使用(包括单引号、双引号、反斜杠、嵌入的制表符、星号等等)。 测试外壳逃逸如果您有一个转义方案,下面是一些您可能想要测试的东西:
换行值得特别注意。这个
您还应该知道转义序列可以在不同的阶段得到处理,这会使测试工作复杂化——您只关心shell传递给程序的是什么,而不是程序做什么。使用
|
|
|
2
0
你没有成功
相反,使用本机python例程
输出小心地引用第二个参数以保护
|
|
|
3
-3
例子:
这将在服务器上创建一个名为
我已经尝试了所有我能想到的shell元字符,它可以工作:
|