ファイルのコメント欄に書いたシェルスクリプトを実行する。
synergyをアイコンクリックで簡単に起動できるようにしたくて、以下のようなAppleScriptを作ってみた。アイコンをダブルクリックすると、そのファイルのコメント欄に書かれたシェルスクリプトを実行する。*1シェルスクリプトはダブルクリックされたアイコンが存在するディレクトリに移動してから実行される。コードは以下のようにしてみた。これを フォーマット:アプリケーション の形式で保存しておく。
--comment_execute(シェルスクリプトのみ実行) tell application "Finder" set myDir to folder of (path to me) as text --自分自身のパス set myName to name of (path to me) as text --自分自身のファイル名 set myDir to POSIX path of myDir --UNIX式のパスに変換 set myComment to comment of (path to me) as text set shellCommand to "cd " & myDir & "; " & "./" & myComment end tell try do shell script shellCommand display dialog myName & return & "コマンド処理が完了しました。" & return & return & result buttons {"OK"} default button "OK" with icon note giving up after 10 on error msg number val display dialog myName & return & "コメント欄のコマンドがエラーです。" & return & return & msg buttons {"OK"} default button "OK" with icon stop end try
--comment_execute_on_terminal(ターミナルを起動して、その中でシェルスクリプトを実行) tell application "Finder" set myDir to folder of (path to me) as text --自分自身のパス set myName to name of (path to me) as text --自分自身のファイル名 set myDir to POSIX path of myDir --UNIX式のパスに変換 set myComment to comment of (path to me) as text set shellCommand to "cd " & myDir & "; " & "./" & myComment end tell tell application "Terminal" activate do script with command shellCommand end tell
使い方
今まで /Applications/synergy-1.3.1/synergys -f -c /Applications/synergy-1.3.1/synergy.conf と長い長いコマンドを入力していたが、上記comment_executeを使えば以下のようにできる。
ターミナルからシンプルに使う
AppleScriptを作ったあとに知ったが、以下のようにインストールすれば...
- synergys、synergycを/usr/local/binフォルダへ。
- synergy.confを/etcフォルダへ
synergyサーバーを起動する時
synergys
synergyc MacBook.local
あれれ、AppleScriptで作るまでもなかったかも...。(コメント欄にシェルスクリプトを書けば実行できるようになっているので、synergyに限らず別の何かに使えるかな。)