51Testing软件测试论坛

标题: VBS脚本里,如何对{}进行转义? [打印本页]

作者: vingoo    时间: 2010-1-18 10:10
标题: VBS脚本里,如何对{}进行转义?
情况是这样,我要用VBS脚本在windows下用telnet命令登录linux系统然后进行一些操作

现在问题是这样,登录linux后,我需要执行下面语句:
ps -ef|grep Ddeploy=bmobile |grep -v grep|awk '{ print $2 }'|xargs -t -I{} kill -9 {};

其中这句命令里有几组{},试过很多种转义方法,都无效,请问一下在VBS脚本里该怎样进行转义才能让这句命令完整的在linux上执行?
作者: walker1020    时间: 2010-1-18 10:15
先看一下那些特殊的字符串需要转义。一般来说,这样的字符有:
"\","$","(",")","*","+",".","[","?","^","{","|"

在VBScript里面,转义就是在这些字符前面增加一个\ 符号。
作者: vingoo    时间: 2010-1-18 10:38
标题: 回复 2# 的帖子
早试过了,不行啊,看看是不是这样转的:
WshShell.SendKeys"ps -ef|grep Ddeploy=bmobile |grep -v grep|awk '\{ print $2 \} '|xargs -t -I\{\} kill -9 \{\};"

但是实际输出的内容为:ps -ef|grep Ddeploy=bmobile |grep -v grep|awk '\ 到这里之后就停止了,那个{ 还是没有转出来
作者: vingoo    时间: 2010-1-18 12:27
标题: 回复 4# 的帖子
真郁闷,整了半天,查了很多资料,用的转义方法都不管用,我又根据屏幕输出的规则,最后用这个方法把转义弄出来了

WshShell.SendKeys"ps -ef|grep Ddeploy=bmobile |grep -v grep|awk '{{}Print $2{}}'|xargs -t -I{{}{}} kill -9 {{}{}};"

输出:ps -ef|grep Ddeploy=bmobile |grep -v grep|awk '{ print $2 }'|xargs -t -I{} kill -9 {};

用{{}转义成{   用{}}转义成}     。。。。。里面连$符号前都没用转义也能直接输出$ 。。。。。好奇怪




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2