拡張子が.shのファイルとは何ですか?
これはBourneシェルスクリプトです。これらは、UNIXライクなオペレーティングシステムの多くのバリエーションで使用されています。それらには「言語」がなく、シェル(ターミナルコマンドのインタープリター)によって、または最初の行が次の形式である場合に解釈されます。
#!/path/to/interpreter
彼らはその特定のインタプリタを使用します。ファイルの最初の行は次のとおりです。
#!/bin/bash
つまり、Bourne Again Shell、いわゆるbashを使用しているということです。それはすべての実用的な目的のために古き良きshの代わりです。
通訳者によって、ファイルが書き込まれる言語が異なります。
UNIXの世界では、ファイルが何であるかを決定するのはファイルの拡張子ではないことに注意してください(シェルスクリプトの実行方法を参照)。
DOS / Windowsの世界から来た場合は、拡張子が.batまたは.cmdのファイル(バッチファイル)に精通しているはずです。内容は似ていませんが、デザインは似ています。
シェルスクリプトの実行方法
一部のばかげたオペレーティングシステムとは異なり、* nixは、ファイルの処理方法を決定するために拡張子だけに依存しているわけではありません。権限も使用されます。つまり、ダウンロード後にシェルスクリプトを実行しようとすると、テキストファイルを「実行」しようとするのと同じになります。「.sh」拡張子は、そのファイルを認識しやすいようにするためだけにあります。
ファイルを実行可能にする必要があります。ファイルをとしてダウンロードしたと仮定します。file.sh
その後、ターミナルで実行できます。
chmod +x file.sh
chmod
ファイルのアクセス許可を変更するためのコマンドです。 +x
実行パーミッション(この場合は全員)を設定し、最後にファイル名を取得します。
GUIでも実行できます。ほとんどの場合、ファイルを右クリックしてプロパティを選択できます。XUbuntuでは、アクセス許可オプションは次のようになります。
権限を変更したくない場合。シェルにコマンドを強制的に実行させることもできます。ターミナルで実行できます:
bash file.sh
シェルは、スクリプトの最初の行と同じである必要があります。
それはどれくらい安全ですか?
ファイルを実行するために別のタスクを手動で実行しなければならないのは奇妙だと思うかもしれません。しかし、これは部分的にはセキュリティに対する強いニーズのためです。
基本的に、bashスクリプトをダウンロードして実行するときは、誰かが「これらすべてのコマンドをコンピューター上で順番に実行します。結果が良好で安全になることを約束します」と言うのと同じです。このファイルを提供した当事者を信頼できるかどうかを自問し、思ったのと同じ場所からファイルをダウンロードしたかどうかを自問してください。何かがおかしいと思われるかどうかを確認するために内部を一瞥することもできます(ただし、 * nixコマンドとbashプログラミングについて何か知っていること)。
残念ながら、上記の警告を除いて、コンピュータで悪事が発生するのを防ぐために何をすべきかを段階的に説明することはできません。したがって、実際に誰かから実行可能ファイルを取得して実行するときはいつでも、「もちろん、私のコンピューターを使用して何かを行うことができます」と言っていることを覚えておいてください。