MAC OS Xで、シェルプログラムをデスクトップのアイコンから起動したときに、ターミナルで実行されるようにしたいです。5種類のプログラムがあり、それぞれクリックした際にターミナルで実行されるようにするにはどのように設定すればよいでしょうか?ちなみに私はWindows使いです。MACはさっぱり分かりません。試しに1ファイルについて関連付けをやってみたら、ターミナルが起動するようになったのですが、ターミナルのみを起動しても、そのシェルが実行されるようになってしまいました。(=ターミナルのみが起動出来ないのです。)

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:kazumichi No.1

回答回数14ベストアンサー獲得回数2

ポイント40pt

(URLはダミーです)

(実際に実機で試していないので、参考程度にてお願いします。)

<方法1>

<a href=”applescript://com.apple.scripteditor/?action=new&script=tell%20application%20%22Terminal%22%0D%20%20%20%20%20%20%20%20do%20script%20%22sh%20yourfile%22%0D%20%20%20%20%20%20%20%20activate%0Dend%20tell”>ここ</a>をクリックして、「yourfile」の部分を実行したいシェルスクリプトの存在するパスにフルパスで変えます。

例:/Users/name/file.sh

それを保存してください。

<方法2>

方法1で出来ない場合、「Macintosh HD」->「アプリケーション(Application)」->「Apple Script」(もしくは:「Macintosh HD」->「アプリケーション(Application)」->「Utilities」->「Apple Script」)でスクリプトエディタを起動して、以下を入力して保存します。方法1と同様、以下の「/Users/name/file.sh」の部分は、実行したいシェルスクリプトの存在するパスをフルパスで記入してください。

(やっていることは実質的に方法1と一緒です。)

----ここから----

tell application ”Terminal”

do script ”sh /Users/name/file.sh”

activate

end tell

----ここまで----

<方法3>

方法1,2で出来ない場合、方法2を以下に変えてやってみてください。

3種類あるので、それぞれお願いします。

----その1:ここから----

tell application ”Terminal”

do script ”open /Users/name/file.sh”

activate

end tell

----その1:ここまで----

----その2:ここから----

tell application ”Terminal”

do script ”open /Applications/Utilities/Terminal.app /Users/name/file.sh”

activate

end tell

----その2:ここまで----

----その3:ここから----

tell application ”Terminal”

do script ”open -a /Applications/Utilities/Terminal.app /Users/name/file.sh”

activate

end tell

----その3:ここまで----

id:crecre No.2

回答回数92ベストアンサー獲得回数1

ポイント10pt

AppleScriptを使うのはどうでしょう。

do shell script (シェルコマンド)

でシェルを実行できます。

id:komattaze

ありがとうございました。

やはりAppleScriptなのですね。

ところで、質問に書いたのですが、今ターミナルを起動するると、関連したシェルが起動してしまう件は、どのようにすれば解除出来るのでしょうか?ターミナルが起動してプロンプト状態になるようにしたいです。

2004/06/09 20:25:38
  • id:masuto1127
    http://www.hatena.ne.jp/

    はてな

    (URLはダミーです)
    アイコンをダブルクリックで起動するには拡張子を.shから.commandに変更すればターミナルを開いて起動するようになります。

    関連したシェルが起動してしまう場合はメニューから「ファイル」ー「新規コマンド」を選択し
    defaults delete com.apple.Terminal ExecutionString
    を実行してみてください。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません