BashおよびBashシェルは、Linuxシステムの主な管理コンポーネントです。 コマンドは、タスクやジョブを完了するためにbash上で実行されます。 これらのコマンドは、シェルスクリプトと呼ばれるファイルに格納できます。 シェルスクリプトは、コマンドを何度も何度も書き込まずにシェルスクリプトファイルを呼び出すだけで、単一または複数のコマン シェルスクリプトには、BashまたはShの*.sh拡張子があります。 このチュートリアルでは、シェルスクリプトファイルをさまざまな方法で実行する方法を学びます。
シェルスクリプトまたはスクリプトファイルの作成
シェルスクリプトファイルの実行を開始する前に、スクリプトファイルを作成します。 *.Sh拡張子を持つテキストファイルを作成するだけです。 次に、いくつかのシェルコマンドを入れます。 この例では、次の名前のシェルスクリプトを作成しますsysteminfo.sh …..
hostnamectlecho "This is a shell script."
シェルスクリプトを実行可能にして実行
シェルスクリプトを実行または実行する最もコマンドの方法は、実行可能にしてから呼び出すことです。 シェルファイルは、デフォルトではテキストを含む単なるファイルです。 これは、chmodコマンドを使用してシェルで実行可能にすることができます。 次の例では、次のようにします。systeminfo.sh 現在のユーザー用に実行可能なシェルスクリプトファイル。
chmod u+x systeminfo.sh
シェルスクリプトファイルが実行可能かどうかは、以下のようなlsコマンドで確認できます。
ls -l systeminfo.sh
出力は、ユーザーがx文字で示されている実行権限を持っている場合の以下のようなものです。
-rwxrw-r-- 1 ismail ismail 44 Oca 28 04:18 systeminfo.sh
今、私たちは、その名前とパスを呼び出して直接スクリプトファイルを実行したり、実行することができます。 スクリプトファイルが現在の作業ディレクトリにある場合は、以下のように呼び出すことができます。
./systeminfo.sh
代わりに、シェルスクリプトが別のディレクトリであれば、現在の作業ディレクトリであれば、それを実行するための完全パスまたは絶対パスを指定することができます。 これは、すべての状況に対してスクリプトファイルを適切に実行できるより信頼性の高い方法です。
/home/ismail/systeminfo.sh
bashコマンドで直接シェルスクリプトを実行
すべてのbashシェルコマンドは、bashインタプリタを介して解釈され、実行されます。 Bashインタプリタは、/usr/bin/bashにある実行可能ファイルです。 Bashバイナリに直接提供するシェルスクリプトファイルを実行できます。 この方法では、スクリプトファイルを実行可能にする必要はありません。 次の例では、bashバイナリまたはコマンドを介してシェルスクリプトファイルを実行します。
bash ./systeminfo.sh
または、シェルスクリプトファイルのフルパスを以下のように指定することもできます。
bash /home/ismail/systeminfo.sh
Rootとしてシェルスクリプトを実行
デフォルトでは、シェルスクリプトは現在のユーザー権限を持つ現在のユーザーとして実行されます。 しかし、場合によっては、シェルスクリプトファイルをrootまたはroot権限で実行する必要があるかもしれません。 私たちは、シェルスクリプトファイルの実行中にsudoコマンドを使用することができます。
sudo ./systeminfo.sh
シェルスクリプトファイルの絶対パスを使用すると、sudoコマンドは以下のようにマージできます。
sudo /home/ismail/systeminfo.sh
GUIによるシェルスクリプトの実行(デスクトップ環境)
シェルスクリプトファイルは、GUIまたはデスクトップ環境を介しても実行できます。 しかし、最初に実行のために有効にする必要があります。 スクリプトファイルを右クリックし、以下のようなプロパティをクリックします。
[プロパティ]ウィンドウで[権限]タブに移動し、[実行構成]を確認します。 これにより、ファイルをプログラムとして実行できます。
の実行中にシェルスクリプトをデバッグするシェルスクリプトファイルは、異なるコマンドを実行するアプリケーションのようなものです。 シェルスクリプトは、バグやエラーを検出するためにデバッグすることができます。 また、シェルスクリプトファイルをデバッグして、シェルスクリプトの実行に関する詳細情報を取得することもできます。 -Xパラメーターは、bashコマンドでシェルスクリプトファイルをデバッグするために使用されます。
bash -x ./systeminfo.sh
シェルスクリプトの出力をファイルに保存する
一部のシェルスクリプトは、標準出力または端末に出力される出力を作成します。 この出力は、>演算子を使用すると、簡単にファイルにリダイレクトできます。 次の例では、”systeminfo.sh”という名前のファイルにシェルスクリプト出力”出力。txt”。
./systeminfo.sh > output.txt