web-dev-qa-db-ja.com

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

これは、UNIXでの最初の質問です。

2日前にシェルスクリプトを使い始めました。

しかし、質問があります。シェルスクリプトは特定のシェル用の特別なプログラミング言語ですか?

6
MUE

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

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

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

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

さらに、何も入力するだけでは機能しないので、プログラミング言語を使用することもできます。同時に、入力したものは何でも、あなたが書いたものに正確に対応するコンピュータからのアクティビティを取得します。

あなたが物事を言う方法にはルールがあり、コンピュータがそれらの物事に反応する方法にはルールがあります。

つまり、「プログラミング」では、通常、コマンドを積み重ねるよりも表現力をいくらか関連付けます。少なくとも、ブランチ(if ... then ... else)、イテレーション(ループ:whileforなど)、そしておそらく他のいくつかのことも。しかし、スクリプト言語にはこれらの機能などがあるため、問題ありません。

シェルには異なる言語がありますが、一部は慣例(なぜ言い方を変えるのに良い方法を変更するのか)または以前のバージョン(または標準)との互換性のために、かなり重複している場合があります。

2
Emanuel Berg

Bashはscripting言語です:

From wikipedia

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

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

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

「プログラミング」言語は通常、コードが長期間使用されるシナリオで使用されます。何かをすばやく書き、それを再び使用したくない場合は、「スクリプト」言語が必要です。

あなたは興味深い記事を見つけることができます ここ

6
Marius Cotofana