English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Shell 教程

ShellはC言語で書かれたプログラムであり、ユーザーがLinuxを使用するための橋渡しを行います。Shellは命令言語であり、プログラム設計言語でもあります。

Shellはアプリケーションであり、ユーザーがこのアプリケーションを通じてオペレーティングシステムのカーネルサービスにアクセスするためのインターフェースを提供します。

Ken Thompsonのshは最初のUnix Shellであり、Windows Explorerは典型的なグラフィカルなインターフェースのShellです。

Shellスクリプト

Shellスクリプト(shell script)は、shell向けに書かれたスクリプトプログラムです。

業界で言われるshellは通常shellスクリプトを指しますが、読者の方には知っておいていただきたいのは、shellとshell scriptは異なる概念であることです。

習慣のために、簡潔にするために、本文で「shellプログラミング」と言及する場合、shellスクリプトプログラミングを指すものであり、shell自体の開発を指すものではありません。

Shell環境

ShellプログラミングはJavaScriptやPHPプログラミングと同様に、コードを書くためのテキストエディタとスクリプトを実行するためのスクリプトエンジンが必要です。

LinuxのShellには多くの種類がありますが、一般的には以下のようなものがあります:

  • Bourne Shell(/usr/bin/shまたは/bin/sh)

  • Bourne Again Shell(/bin/bash)

  • C Shell(/usr/bin/csh)

  • K Shell(/usr/bin/ksh)

  • Root用のShell(/sbin/sh)

  • ……

このチュートリアルでは Bash(Bourne Again Shell)に焦点を当てています。使いやすく無料であるため、Bashは日常業務で広く使用されています。また、Bashは多くのLinuxシステムのデフォルトのシェルです。

一般的には、Bourne ShellとBourne Again Shellを区別しませんので、以下のように #!/bin/sh、それも同様に変更できます #!/bin/bash

#! システムにその後のパスに指定されたプログラムがこのスクリプトファイルを解釈するシェルプログラムであることを伝えます。

最初のシェルスクリプト

テキストエディタを開きます(viを使用できます)/vim コマンドでファイルを作成します)(新しいファイル test.sh を作成し、拡張子は sh(sh はシェルを意味します)です。拡張子はスクリプトの実行に影響を与えませんので、名前がその通りであれば良いです。PHPでシェルスクリプトを書く場合は、拡張子はphpを使用してください。

いくつかのコードを入力し、最初の行は一般的に以下のようになります:

#!/bin/bash
echo "Hello World !"

#! は約束事のマークであり、システムにこのスクリプトがどのエクスプローラーを使用して実行されるかを教えます。つまり、どの種類の Shell を使用するかを示します。

echo コマンドは、ウィンドウにテキストを出力するために使用されます。

Shell スクリプトの実行には、2つの方法があります:

1、実行可能なプログラムとして

上記のコードを test.sh として保存し、cd で指定されたディレクトリに移動します:

chmod +x ./test.sh  #スクリプトに実行権限を与える
./test.sh  #スクリプトを実行

注意、必ず以下のように書かれる必要があります。 ./test.sh、ではなく test.sh、他の二進数プログラムの実行も同様に、直接 test.sh を書き、Linux システムは PATH 内に test.sh があるか探しますが、 /bin、 /sbin、 /usr/bin、/usr/sbin などは PATH にありますが、現在のディレクトリは通常 PATH にありませんので、test.sh として書かれるとコマンドが見つかりません。. を使用する必要があります。/test.sh はシステムに、現在のディレクトリ内を探すと伝えます。

2、エクスプローラーパラメータとして

この実行方法は、直接エクスプローラーを実行し、そのパラメータはシェルスクリプトのファイル名です。例えば:

/bin/sh test.sh
/bin/php test.php

この方法で実行されるスクリプトは、最初の行にエクスプローラー情報を指定する必要はありません。指定しても役に立ちません。