簡単に言えば、コマンドはコンピューターによって実行される命令(または命令のセット)です。
スタンドアロンのコマンド
などの基本的なUnixユーティリティls
、ln
等は、(通常は)Cで書かれ、スタンドアロンの実行可能にコンパイルされたプログラム実行するインタプリタを必要としません。通常、特定のライブラリファイルをシステムにインストールする必要がありますが、それは別の質問に対する答えです。
スクリプト
スクリプトはコマンドのコレクションであり、実際、スクリプト自体はコマンドと見なされます。
A のPerlスクリプトは、 Perlの一連の文で、必要としperl
、実行可能(スタンドアローンおよびコンパイル)プログラムのPerl文を解釈するが。
大きくて複雑な解釈スクリプト(Perl、Python、Rubyなどの言語)は、解釈されたプログラムと呼ばれることもありますが、スクリプトという用語は短く単純なスクリプトに予約されています。
シェルスクリプトは、他のコマンドのシーケンス(コマンドの任意の型)であり、それは、スクリプトを解釈するようバッシュとしてUnixシェルを必要とします。Bashのmanページから:
Bashは、標準入力またはファイルから読み取ったコマンドを実行するsh互換のコマンド言語インタープリターです。
シェルビルトイン
シェルには通常、スタンドアロンプログラムでもスクリプトでもない組み込みコマンドがあります。代わりに、シェル自体の一部であり、シェルによって直接実行されます。cd
このような組み込みコマンドの例です。
シェル組み込みコマンドとスタンドアロンコマンドとして同時に存在するコマンド(コマンドなど)がありますecho
。
$ type -a echo
echo is a shell builtin
echo is /usr/bin/echo
echo
単独でシェル組み込みコマンドを実行しますが、スタンドアロンコマンドはそのフルパスを指定して実行できます。
echoの組み込みバージョンを実行します。
$ echo --version
--version
スタンドアロンecho
プログラムを実行します。
$ /usr/bin/echo --version
echo (GNU coreutils) 8.23
Packaged by Cygwin (8.23-4)
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
注:上記の詳細はUnix環境を参照していますが、Windows環境にも同じ原則が適用されます。