シェルスクリプトは、実行順に一連のコマンドを含むファイルです。シェルスクリプトを実行すると、すべてのコマンドが1つずつ順番に実行されます。シェルスクリプトは複数回実行できるため、すべてのコマンドを1つずつ実行する時間を節約できます。
シェルスクリプトが必要な理由のいくつかは次のとおりです。
- 繰り返し作業を避けるため
- 頻繁に実行される操作を自動化するため
- 複雑で反復的な一連のコマンドを1つの単純なコマンドに結合します。
以前の投稿では、Ubuntuでのシェルスクリプトの作成と実行について説明しました。この投稿は、Debianシステムでシェルスクリプトを作成して実行する方法についてです。 Debianのデフォルトシェルであるbashシェルを使用します。
注:この投稿で説明されている手順は、 Debian 10(バスター)でテストされています。 システム。
ステップ1:シェルスクリプトを作成する
シェルスクリプトを作成するには、Nano、Vim、Geditなどのテキストエディタを使用してプレーンテキストファイルを作成するだけです。次に、テキストファイルに、コマンドを希望する順序で追加する必要があります。実行されました。シェルスクリプトを作成するときは、次の点に注意してください。
- シェルスクリプトを「#!/ bin/bash」で開始します
- 各行はコマンドとして扱われます
- コメント行を#で開始します
Nanoエディターを使用して「testscript」という名前のスクリプトを作成します。ただし、任意のエディターを選択できます。スクリプトファイルを作成する前に、その名前がコマンドと競合しないことを確認してください。これを確認するには、「which」に続けてスクリプト名を入力します。
$ which script_name
この例では、次のようになります。
$ which testscript
次の出力は、「testscript」という名前でインストールされたそのようなコマンドまたはプログラムがないことを示しています。したがって、この名前で続行できます。
「testscript」という名前のスクリプトを作成するには、ターミナルで次のコマンドを実行します。
$ sudo nano testscript.sh
上記のコマンドを実行すると、Nanoエディターで空のファイルが開きます。まず、ファイルの先頭に「#!/ bin/bash」を追加します。次に、スクリプトで実行するコマンドを追加し、各コマンドを別々の行に追加します。ここでは、次のタスクを実行できるスクリプトを作成します。
- システムのIPアドレスを印刷します
- ダウンロードディレクトリにファイルを一覧表示する
- ダウンロードディレクトリからドキュメントディレクトリへのファイルのバックアップ
そのため、スクリプトには次のコマンド行を記述しました。
#!/bin/sh echo "Now we are going to print IP address" ip addr | grep ens37 echo "Now we are going to ping Google website" ping -c 2 google.com echo "Now we are going to backup our Downloads directory to Documents directory" cp -rv ~/Downloads ~/Documents
スクリプトにコマンドを入力したら、保存して閉じます。
Nanoエディターのスクリプトファイルは次のようになります。
ステップ2:実行権限を設定する
次に、スクリプトファイルをプログラムとして実行するために、スクリプトファイルを実行可能にする必要があります。これを行うには、ターミナルで次のコマンドを実行します。
$ chmod +x script_name
この例では、次のようになります。
$ chmod +x testscript.sh
ステップ3:シェルスクリプトの実行
スクリプトに実行権限が適用されたら、次のようにスクリプトを実行できます
$ ./script_name
注:スクリプトが現在の作業ディレクトリ以外のディレクトリに配置されている場合は、必ず最初にそのディレクトリに移動してから、スクリプトを実行してください。
たとえば、「testscript.sh」という名前のスクリプトを実行するには、コマンドは次のようになります。
$ ./testscript.sh
スクリプトの実行後、シェルはスクリプトに含まれる各コマンドを順番に実行し、出力を表示します。スクリプトの出力は次のようになります。
./ script_nameを使用してスクリプトを実行する以外 コマンドの場合、スクリプトを実行する方法は他に2つあります。それは次のとおりです。
$ bash script_name $ sh script_name
これは、Debian10Busterシステムでシェルスクリプトを作成して実行する方法です。
シェルスクリプトは、ファイルに追加して一緒に実行する一連のコマンドです。この投稿をフォローした後、シェルスクリプトを簡単に作成し、反復的なジョブを自動化できるようになることを願っています。