質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

0回答

2097閲覧

'exit'もしくは、'quit'を入力し、サーバー切断の操作をさせる。

ryuta9234

総合スコア17

シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2018/11/14 03:56

編集2018/11/16 00:34

前提・実現したいこと

下記の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/ツールのバージョンなど)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/11/14 04:07

タイトルはもっと簡潔に要件だけ書いていただけますか?ヤフー知恵袋とは違うので
ryuta9234

2018/11/14 05:08

表現が下手で申し訳ありません。
m.ts10806

2018/11/14 05:17

いえ、その辺りは自身で読み返してみて赤の他人に分かりやすいかどうかで判断してもらえたらと(「質問するときのヒント」も参照してください)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問