■f拡張子が .sh のファイルとは?
Bourne シェルスクリプトです。これらは、UNIX ライクなオペレーティング システムのさまざまなバリエーションで使用されます。それらには「言語」がなく、シェル(端末コマンドのインタープリター)によって解釈されるか、最初の行が次の形式の場合
#!/path/to/interpreter
彼らはその特定のインタープリターを使用します。ファイルの最初の行は次のとおりです。
#!/bin/bash
これは、bash と呼ばれる Bourne Again Shell を使用することを意味します。これは、すべての実用的な目的で、古き良き sh の代替品です。
インタープリターに応じて、ファイルが書かれている言語が異なります。
UNIX の世界では、ファイルが何であるかを決定するのはファイルの拡張子ではないことに注意してください (シェルスクリプトの実行方法を参照)。
DOS/Windows の経験がある方は、拡張子が .bat または .cmd のファイル (バッチ ファイル) に慣れているでしょう。内容は似ていませんが、デザインは似ています。
シェルスクリプトの実行方法
一部の安全でないオペレーティング システムとは異なり、*nix は拡張子だけに依存してファイルの処理方法を決定するわけではありません。権限も使用されます。これは、ダウンロード後にシェル スクリプトを実行しようとすると、テキスト ファイルを「実行」しようとするのと同じになることを意味します。「.sh」拡張子は、そのファイルを簡単に認識できるようにするためだけに付けられています。
ファイルを実行可能にする必要があります。ファイルを としてダウンロードしたと仮定してfile.sh
、ターミナルで実行できます。
chmod +x file.sh
chmod
ファイルのパーミッションを変更するためのコマンドであり、+x
実行パーミッション (この場合は全員) を設定し、最後にファイル名を取得します。
GUIでもできます。ほとんどの場合、ファイルを右クリックしてプロパティを選択できます。XUbuntu では、アクセス許可オプションは次のようになります。

権限を変更したくない場合。シェルにコマンドを強制的に実行させることもできます。ターミナルでは、次を実行できます。
bash file.sh
シェルは、スクリプトの最初の行と同じである必要があります。
どのくらい安全ですか?
ファイルを実行するために手動で別のタスクを実行しなければならないのは奇妙に感じるかもしれません。しかし、これは部分的には、セキュリティに対する強いニーズによるものです。
基本的に、bash スクリプトをダウンロードして実行することは、誰かが「これらすべてのコマンドをコンピューターで順番に実行してください。結果が良好で安全であることを約束します」と言っているのと同じことです。このファイルを提供した当事者を信頼しているかどうかを自問し、自分が思っていたのと同じ場所からファイルをダウンロードしたかどうかを自問してください。 *nix コマンドと bash プログラミングについてある程度知っている必要があります)。
残念ながら、上記の警告を除いて、コンピューターで悪事が起こるのを防ぐために何をすべきかを順を追って説明することはできません。そのため、誰かから実行可能ファイルを取得して実行するときはいつでも、実際には「もちろん、私のコンピューターを使用して何かを行うことができます」と言っていることに注意してください。