0

このスクリプトを使用して、新しいコンソールを開き、サーバーに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を渡すことはできません。また、サーバーの設定ができない場合は、その方法がわかりません

4

2 に答える 2

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
于 2012-10-11T08:48:48.600 に答える
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
于 2012-09-25T21:41:26.153 に答える