前提・実現したいこと
下記のURLを参考に作りましたが、スクリプト内の最後にターミナル内で'exit'もしくは、'quit'を入力させることができませんので、入力させるようにしてサーバー切断の操作をさせるようにしたいです。
https://photo-tea.com/p/17/automator-javascript-terminal-complete/
該当のソースコード
javascript
1function run(input, parameters) { 2 // Terminalの参照を取得 3 var Terminal = Application('Terminal') 4 Terminal.activate() 5 // terW1で起動した最前面のターミナルウィンドウを取得します。 6 var terW1 = Terminal.windows[0] 7 try{ 8 console.log(terW1.selectedTab.properties()) 9 }catch(e){ 10 // コマンドを実行 11 Terminal.doScript("echo 'window 3 サーバー同期'"); 12 var terW1 = Terminal.windows[0] 13 } 14 15 // ディレクトリ移動 16 Terminal.doScript( 'cd' , {in: terW1} ) 17 18 // コマンド実行完了まで待機 19 waitDelay(terW1) 20 21 Terminal.doScript( 'ssh サーバー起動コマンド' , {in: terW1} ) 22 23 // コマンド実行完了まで待機 24 waitDelay(terW1) 25 26 //サーバー同期システム 27 Terminal.doScript( 'cd ディレクトリ移動' , {in: terW1} ) 28 29 // コマンド実行完了まで待機 30 waitDelay(terW1) 31 32 //ファイルを同期 33 Terminal.doScript( 'rsyncコマンドを実行' , {in: terW1} ) 34 35 // コマンド実行完了まで待機 36 waitDelay(terW1) 37 38// 5秒後にサーバーを停止させる 39 delay(5) 40 press("exit") 41 42 43 44 // waitDelayの後でコマンドを入力させる... 45 return input; 46} 47 48// コマンド実行中は1秒待機させ、スクリプトの実行を一時停止させる関数。 49function waitDelay(inTerminalWindow){ 50 delay(1) 51 while( inTerminalWindow.selectedTab.busy() ){ 52 delay(1) 53 console.log("待機中") 54 } 55}
試したこと
上記が試したことですが、ダメでした。
補足情報(FW/ツールのバージョンなど)
あなたの回答
tips
プレビュー