このファイル.shをダブルクリックで実行可能にするにはどうすればいいですか? 質問する

このファイル.shをダブルクリックで実行可能にするにはどうすればいいですか? 質問する

まず、私はMacを使用しています。

次に、この「file.sh」を実行する必要があります。これを実行する必要があるたびに、ターミナルを開いて次のように入力する必要があります。

cd /Users/Jacob/Documents/folderWithFileInIt
bash file.sh

これは問題ありませんが、ダブルクリックでファイルを実行するようにすると、はるかに速くなると思います。

そこで質問なのですが、このファイルをダブルクリックで実行可能にするにはどうすればいいのでしょうか?

私のアイデアは次のいずれかでした:

a) ターミナルに chmod などと入力して権限を変更しますか?

b) ファイルを作成し、そこに上で書いたコードを入れて、そのファイルを実行可能にしますか?

c) これを何らかの方法で自動化しますか?

どの方法が一番良いのでしょうか、それとももっと良い方法があるのでしょうか?

ベストアンサー1

デフォルトでは、*.shファイルはテキスト エディター (Xcode または TextEdit) で開かれます。開いたときにターミナルで実行されるシェル スクリプトを作成するには、 のように「コマンド」拡張子を付けて名前を付けますfile.command。デフォルトでは、これらはターミナルに送信され、ファイルはシェル スクリプトとして実行されます。

また、ファイルが実行可能であることを確認する必要があります。例:

chmod +x file.command

これがないと、ターミナルは実行を拒否します。

#!この特定のシナリオでは、ターミナルがデフォルトのシェルでスクリプトを実行するように特別に調整するため、スクリプトはプレフィックスで始まる必要がないことに注意してください。(もちろん、#!使用するシェルをカスタマイズする場合や、別のシェルを使用しながらコマンド ラインからスクリプトを実行できるようにする場合は、行を追加できます。)

また、ターミナルは作業ディレクトリを変更せずにシェル スクリプトを実行することに注意してください。cd特定の作業ディレクトリでスクリプトを実際に実行する必要がある場合は、コマンドでスクリプトを開始する必要があります。たとえば、を使用して、cd "$(dirname "$0")"現在の作業ディレクトリをシェル スクリプトがあるディレクトリに設定できます。

おすすめ記事