GNU/Linux >> Linux の 問題 >  >> Linux

シェルスクリプトはプログラミング言語ですか?

Bash は scripting です 言語:

ウィキペディアから:

<ブロック引用>

スクリプト言語またはスクリプト言語は、スクリプトの作成をサポートするプログラミング言語であり、人間のオペレーターが 1 つずつ実行できるタスクの実行を自動化するソフトウェア環境用に作成されたプログラムです。 [...]

スクリプトという用語は通常、小さなプログラム (数千行までのコード) のために予約されています。

スクリプトは通常、迅速で汚いものです。たとえば、あなたの生活を楽にする bash スクリプトです。一方、「プログラミング」言語は、はるかに考え抜かれ、意図的に設計されています。「プログラミング」言語の特徴は、通常は高速であり、必要に応じて低レベルのものをより細かく制御できることです。

「プログラミング」言語は通常、コードが長期間使用されるシナリオで使用されます。すぐに何かを書き、それを二度と使用したくない場合は、「スクリプト」言語が最適です。

ここで興味深い記事を見つけることができます。


コマンドを知っている場合、たとえば ls と入力してリターンキーを押すと、シェルはそのプログラム (ls) の場所を認識し、呼び出して結果を表示します。これは「非スクリプト」シェルの使用法です。

しかし、このようなコマンドを A、B、C、D のように順番に 2 つ並べて、それ (シーケンス) を実行可能ファイルに入れると、プログラムが作成されます。プログラムには名前と場所があるため、参照して呼び出すことができます。コードが含まれているため、CPU によって一度に 1 つのコマンドを実行できます。

(プログラムはコンパイルされません。たとえば、C ソースはコンパイルされますが、これによりスクリプトになります。しかし、それでもプログラムです。)

つまり、ある面では、この時点で既にプログラミングを行っているということです。なぜなら、コンピュータに何をすべきかを指示しているからです。

さらに、これも非常に基本的なレベルで、プログラミング言語も使用しています。これは、何かを入力するだけでは (そしてそれが機能することを期待して) はできないためです。同時に、入力した内容に正確に対応するアクティビティがコンピュータから取得されます。

物事をどのように言うべきかというルールがあり、コンピューターがそれらの言葉にどのように反応するかというルールがあります.

とはいえ、「プログラミング」では、通常、コマンドを積み重ねるだけよりも表現力がいくらか高くなります。少なくとも、分岐 (if ... then ... else )、反復 (ループ:whilefor など)、そしておそらく他のものも同様です。しかし、スクリプト言語にはそれらの機能とそれ以上の機能があるため、問題ありません。

シェルにはさまざまな言語がありますが、一部の言語は、慣例 (何かを言うのに適切な方法を変更するのはなぜですか?) や、以前のバージョン (または標準) との互換性のために、大幅に重複する可能性があります。


Linux
  1. シェルスクリプトでタイムアウトしますか?

  2. ソースシェルスクリプトへのパスを決定しますか?

  3. $の意味は?シェルスクリプトでは?

  1. [ :シェル プログラミングの予期しない演算子

  2. シェルスクリプトの並列実行

  3. サムスンのクロムブックでプログラミング

  1. Cプログラミング言語-はじめに

  2. Linux シェルの音訳スクリプト

  3. .sh ファイルがマルウェアになる可能性はありますか?