OS Xでのユーザー実行権限を持つシェルスクリプトを持っていますが、ダブルクリックするとテキストエディタで開きます。ダブルクリックして実行するにはどうすればよいですか?
まずターミナルで、次のように入力してスクリプトを実行可能にします。
chmod a+x (yourscriptname)
次に、Finderでファイルを右クリックし、[アプリケーションから開く]、[その他]の順に選択します。
ここでファイルを実行したいアプリケーションを選択します。この場合それはTerminalです。端末を選択できるようにするには、「推奨アプリケーション」から「すべてのアプリケーション」に切り替える必要があります。 (Terminal.appアプリケーションはUtilitiesフォルダにあります)
すべてのファイルをこの拡張子に関連付けて端末で実行したくない場合を除き、[常に開く]チェックボックスをオンにしないでください。
.command
ファイル名拡張子を使用してみましたか?
OSX 10.10(ヨセミテ)以降および少なくともOS X 10.8(Mountain Lion)以降、open(ダブルクリック)executable scriptsfrom Finderの場合の動作は次のとおりです。
.command
:Preferences... > Profiles
を使用すると、スクリプトの終了時に自動的にcloseウィンドウを選択できます。cd -- "$(dirname "$BASH_SOURCE")"
Shebangラインの直後cd -- "$(dirname "$0")"
。chmod +x <script>
を実行して実行可能にします。そうしないと、次の症状が表示されます。.command
:Finderは、File > Get Info
を介して問題を修正できることを示唆する誤解を招くエラーメッセージを表示しますが、これは正しくありません。上記のchmod +x
メソッドを使用してください。#!/bin/bash
):動作は、接尾辞が.sh
であるかのようになります-以下を参照してください。.sh
のスクリプト、実行可能かどうか:TextEdit.app
のeditingに対して開かれますまたは、インストールされている場合はXcode.app
で。.scpt
または.applescript
を持つスクリプト(それらが実行可能としてマークされている場合でも、通常はそうではありません):[Apple]Script Editor
のeditingのために開かれます[1]Executableは、実行可能アクセス許可ビットが設定され、呼び出し元ユーザー(ファイルの所有権に関連する)を持つスクリプトであるため、実行を許可される可能性があります。chmod a+x
を使用してall許可ビット(通常)を設定すると、anyoneで呼び出すことができます(これらも許可されている場合)readread許可ビットとファイルの所有権に基づくファイル)。
あるいは、 Platypus を使って、スクリプトから通常のMac OS Xアプリケーションを作成することもできます。
Platypusなどのサードパーティ製アプリを使用する必要はありません。
Script EditorでApple Scriptを作成し、直接のコマンド呼び出しまたは実行可能なシェルスクリプトファイルにdo Shell script "Shell commands"
コマンドを使用し、編集可能なスクリプトファイルを安全な場所に保存してからエクスポートして、アプリケーションスクリプトを作成します。アプリのスクリプトは、ダブルクリックするかバーフォルダで選択することで起動可能です。
RCDefaultAppを使用してファイル拡張子でデフォルトを設定することもできます。
http://www.rubicode.com/Software/RCDefaultApp/
iTerm/Terminalなどで開くように.shを設定することもできます。
chmod u+x filename.sh