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

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

新規登録して質問してみよう
ただいま回答率
85.49%
bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

MacOS(OSX)

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

zsh

zshは、UNIX系OSのシェルの1つです。 cshやksn系のコマンドライン編集機能も実装されたシェルです。

Q&A

3回答

3226閲覧

リモートで実行したコマンドを、ローカルの Mac 側で、リモートのコマンド終了通知を受けたい

moog

総合スコア15

bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

MacOS(OSX)

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

zsh

zshは、UNIX系OSのシェルの1つです。 cshやksn系のコマンドライン編集機能も実装されたシェルです。

0グッド

0クリップ

投稿2016/10/05 02:56

編集2016/11/03 02:59

##最終的にやりたいこと
SSH 越しで実行したコマンドを、ローカルの Mac 側で、SSH 側のコマンド終了通知を受けたい。

終了まで長い時間のかかるコマンドを走らせてる間に、別の作業に移った時に、コマンドを実行していたことを忘れてしまったりするのですが、通知があると思い出せるので。

追記 2016/10/05 13:06
単発、と言うよりは、コマンドの終了後、常時通知が欲しいと考えています。リモート環境で、何かしらの作業をしている時に、コマンド時に自動で通知することを想定しております。

下記URLのような感じです。

参考 URL
Macで時間のかかるコマンドが終わったら、自動で通知するzsh設定 - Qiita

##環境
Mac Sierra
CentOS 6.8
iterm2

##質問 1
それ!という linux 用のライブラリなどが見つけられず、代替の手段を考えているのですが、何か良い方法はございますでしょうか?

自分が検討しているのは、SSH越しでのコマンド実行終了時に何かしらの文字列を出力し、それを iterm2 の機能を使って取得し、Mac へ通知を出すなどです。

参考 URL
iTerm2で特定文字列をハイライトやGrowl通知する - Qiita

##質問 2
追記
zsh での解決策を自己回答いたしました。
とりあえず解決しましたが、他にもスマートな解決策がございましたら、ぜひお願いいたします。
追記ここまで

ということで、2つめの質問とし、コマンド終了後に、毎回、任意の文字列を出力することは可能でしょうか?あるいは、任意のコマンドを実行することはできますでしょうか?

よろしくお願いいたします。

なお、通知に関しては、Mac 側に通知できれば、それに越したことはありませんが、Slack などに通知などでも良いかなとも思っております。

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

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

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

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

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

guest

回答3

0

screen というコマンドがありますので、コンソールを多重化させて、それぞれのコンソールで
別の作業を実施されるのは、いかがでしょうか?
コンソール1ではMACの作業、コンソール2ではsshでリモート作業
切換えも楽に行えます。

使い方は下記のURLが参考になります。

http://qiita.com/hnishi/items/3190f2901f88e2594a5f
http://qiita.com/ryounagaoka/items/8203e9c149b542986c92

投稿2016/11/02 13:07

nagaetty

総合スコア1106

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

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

moog

2016/11/03 02:55

回答ありがとうございます。せっかくご回答いただいたのですが、別の作業は、例えばブラウジングやコーディングなどを想定しております。説明不足ですみません!SSH越しに、同時並行で何かの作業をやりたい、という趣旨ではありませんでした。
guest

0

とりあえず、質問 2 の

「コマンド終了後に、毎回、任意の文字列を出力することは可能でしょうか?あるいは、任意のコマンドを実行することはできますでしょうか?」

の方が解決しましたので、取り急ぎ。引き続き、質問 1 の方で、回答があるかもしれませんので、しばらく、解決済みを保留させていただきます。

###解決方法
bash で同じ方法があるのか調べておりませんが、zsh ではフックが使えるみたいなので、そちらを使ってみました。
zshでhook関数を登録する - Qiita
上記記事にあるように、

PERIOD=5 function periodic_function1() { echo "適当なワード" } autoload -Uz add-zsh-hook add-zsh-hook periodic periodic_function1

で、適当なワードを echo し、下記記事の iterm2 のトリガー機能を使い、先程の適当なワードをキャッチすると、不格好ながら通知を受け取ることができました。

iTerm2で特定文字列をハイライトやGrowl通知する - Qiita

投稿2016/10/05 06:47

編集2016/10/05 07:17
moog

総合スコア15

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

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

moog

2016/10/05 07:36

periodic に変更しましたが、思っていた挙動(すぐ終わるコマンドは対象外にしたかった)と違うようなので、precmd の方が適切かもしれません。時間のある時に調べてみます。
guest

0

sshに直接実行したいコマンドを引数に与え、ローカル側で通知するコマンドを実行しましょう。
リモートでsleep 3が終われば、ローカルでecho "DONE"が実行されます。

$ ssh -i private_key.pem user@remote sleep 3; echo "DONE"

投稿2016/10/05 03:00

moonphase

総合スコア6621

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

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

moog

2016/10/05 04:06

ありがとうございます!説明不足でした。 常時通知が欲しいのと、毎回sshと打つ感じではなく、ssh側に居て、作業をしている時(この事をなんというのでしょう…)に通知が欲しいなと考えておりました。 ただ、echoでローカルに通知を出せるとは知りませんでした!勉強になります。
moog

2016/10/05 06:39

ありがとうございます! 通知に関しては、Slackでも何でも良いのですが、今回はそれをどうやって毎回実行するかが、分からなくて質問させていただきました。後ほど、回答書きますが、zshのフックを使うと、近いことが実現できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問