如何在xdotool中转义字符

时间:2012-09-25 20:46:48

标签: xdotool

我有这个脚本打开一个新的控制台,ssh到服务器,运行一个部署命令。

我将部署版本

传递给脚本
xdotool key ctrl+alt+t
sleep 3
xdotool type "ssh myserver"
xdotool key Return
sleep 10
xdotool type "password"
xdotool key Return
xdotool type "sh path-to-script/deploy.sh $1"
xdotool key Return

我有几个问题,我已经尝试谷歌寻求解决方案但没有成功。

  • 将其转化为/的字符&。当我运行脚本时
  • 在控制台中复制并粘贴它可以正常工作,但如果我将其作为sh文件运行则不行。
  • $ 1未评估

你可以给我任何指针来完成这项工作。 xdotool不是强制性的,我会使用它的任何工作

注意:我不能通过命令传递ssh因为公司的安全政治而且如果我不能在 MYSERVER

2 个答案:

答案 0 :(得分:0)

这里有类似的问题: http://code.google.com/p/semicomplete/issues/detail?id=13#c29
尝试:

xdotool type setxkbmap de
xdotool key Return
xdotool type "sh path-to-script/deploy.sh $1"
xdotool key Return

如果你写一个脚本,也许它会更好:

#!/bin/bash
xterm -e "ssh myserver \"sh path-to-script/deploy.sh $1\"; sleep 5"

并像这样调用它:

./theAboveScript.sh &
sleep 10
xdotool type "password"
xdotool key Return

答案 1 :(得分:0)

“期待”可能是一个很好的解决方案。

您可以使用参数作为脚本开始关注。

#!/usr/bin/expect -f
spawn ssh myserver;
expect "Password:";
send "password\n";
expect "me@myserver:~$";
send "sh path-to-script/deploy.sh $argv\n";
interact