在cut命令中发送'%'(linux)

时间:2016-03-17 10:00:33

标签: linux bash vbscript cut

我正在使用VBScript拧一个脚本。此脚本需要在CMD中运行并连接到具有Linux OS的系统。我需要使用cut命令来获取特定的数字。当我尝试通过脚本发送%时,它会发送

任何想法?

这是代码:

oShell.SendKeys "cat /tmp/dftemp1.txt | cut -d'%' -f1 > /tmp/dftemp2.txt"

当我在secureCRT中使用我的代码时,它正在工作。当我复制线并在CMD线中手动粘贴时,它也正常工作。尝试自动运行时,它无法正常工作。

1 个答案:

答案 0 :(得分:3)

如有疑问,请阅读documentation

  

SendKeys 方法使用一些字符作为字符的修饰符(而不是使用它们的面值)。这组特殊字符由括号,括号,大括号和:

组成      

加号+
  插入符^
  百分号%
  和波浪号~

     

通过将这些字符括在大括号“{}”中来发送这些字符。例如,要发送加号,请发送字符串参数“{+}”。

改变这个:

oShell.SendKeys "cat /tmp/dftemp1.txt | cut -d'%' -f1 > /tmp/dftemp2.txt"

进入这个:

oShell.SendKeys "cat /tmp/dftemp1.txt | cut -d'{%}' -f1 > /tmp/dftemp2.txt"

,请使用plink之类的内容(来自PuTTY suite),这样您就不需要首先使用SendKeys

plink user@host "cat /tmp/dftemp1.txt | cut -d'%' -f1 > /tmp/dftemp2.txt"