我有这个脚本打开一个新的控制台,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
我有几个问题,我已经尝试谷歌寻求解决方案但没有成功。
/
的字符&
。当我运行脚本时你可以给我任何指针来完成这项工作。 xdotool不是强制性的,我会使用它的任何工作
注意:我不能通过命令传递ssh因为公司的安全政治而且如果我不能在 MYSERVER
答案 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