拡張機能は必要ありません(または任意の拡張機能を選択できます.sh
が、便利な規則です)。
スクリプトは#!/bin/bash
(最初の行はexecve(2) syscallによって理解されます)で開始し、ファイルをで実行可能にする必要がありますchmod u+x
。したがって、スクリプトがファイルにある$HOME/somedir/somescriptname.sh
場合は、一度入力する必要があります
chmod u+x $HOME/somedir/somescriptname.sh
ターミナルで。コマンドについてはchmod(1 )を、syscallについてはchmod(2)を参照してください。
ファイルパス全体を入力する場合を除いて、そのファイルをPATH
(environ(7)&execvp(3)を参照)に記載されているディレクトリに配置する必要があります。これ~/.bashrc
は、ログインシェルがbash
)の場合に永続的に設定できます。
ところで、スクリプトを他の言語で書くこともできます。たとえば、Pythonでで始める#!/usr/bin/python
か、Ocamlで#!/usr/bin/ocaml
...で始めることができます。
(何を言ったのか!)ダブルクリックしてスクリプトを実行することはデスクトップ環境の問題であり、デスクトップ固有の問題である可能性があります(Kde、Mate、Gnome、....またはIceWMまたはRatPoisonとは異なる場合があります)。おそらく、EWMH仕様を読むことで、より良い画像を得ることができるかもしれません。
おそらく、でスクリプトを実行chmod
可能にすると、デスクトップ上でクリックできるようになる可能性があります(明らかに、MacOSXのQuartz)。しかし、おそらくそれが視覚的なフィードバックを与えるようにする必要があります。
また、sshを使用してリモートでアクセスする場合を含め、いくつかのコンピューターにはデスクトップがありません。
クリックしてシェルスクリプトを実行するのは良い考えではないと思います。おそらく、シェルスクリプトに引数を指定できるようにしたい場合(そして、クリックしてどのように引数を指定しますか?)、その出力に注意する必要があります。シェルスクリプトを記述できる場合は、ターミナルでインタラクティブシェルを使用できます。それがスクリプトを使用するための最良かつ最も自然な方法であること。優れたインタラクティブシェル(zshやfish、または最近のbash
ものなど)には、美味しくて構成可能なオートコンプリート機能があり、多くの入力を行う必要はありません(tabキーボードのキーの)。また、スクリプトとプログラムは、多くの場合、複合コマンド(パイプラインなど)の一部です。
PS。私は1986年からUnixを使用し、1993年からLinuxを使用しています。クリックして自分のプログラムやスクリプトを開始したことはありません。どして私がこんな事に?
bash myscript