このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Linuxコマンドの基本:シェルスクリプトの作成と実行

シェルスクリプトの作成と実行
シェルスクリプトは、複数のコマンドをテキストファイルに記述し、一連の処理を自動化するための強力なツールです。これにより、毎回同じコマンドを手入力する手間を省き、効率的に作業を進めることができます。ここでは、シェルスクリプトの基本的な作成方法と実行方法について解説します。

シェルスクリプトの作成
まずは、シェルスクリプトを作成してみましょう。シェルスクリプトは、テキストエディタ(例:nano
)を使用して作成できます。ここでは、ホームディレクトリのファイル使用量を表示する簡単なシェルスクリプトを作成します。
duコマンドの概要
du
(Disk Usage)コマンドは、ディレクトリやファイルのディスク使用量を表示します。-h
オプションを付けると、人間に読みやすい形式(KB、MB、GBなど)で表示されます。
例:ホームディレクトリのディスク使用量を表示
user01@ubuntu:~$ du -h ~
出力例
4.0K /home/user01/Desktop
4.0K /home/user01/Templates
12K /home/user01/.cache/fontconfig
(...以下省略...)
20M /home/user01
解説
- 各行はサブディレクトリやファイルのサイズを表示しています。
- 最終行の
20M /home/user01
がホームディレクトリ全体の使用量を示しています。
最終行のみを表示する
ホームディレクトリ全体の使用量だけを知りたい場合、tail
コマンドを使用して最終行のみを表示します。
例:最終行を表示
user01@ubuntu:~$ du -h ~ | tail -n 1
出力例
20M /home/user01
解説
du -h ~
の出力をパイプでtail -n 1
に渡し、最終行のみを表示します。
シェルスクリプトへの変換
毎回このコマンドを手入力するのは面倒なので、シェルスクリプトにまとめてみましょう。ファイル名はわかりやすくするために disksize.sh
とします。
ステップ1:シェルスクリプトの作成
nano
エディタを使用して、新しいシェルスクリプトファイルを作成します。
user01@ubuntu:~$ nano disksize.sh
スクリプト内容:disksize.sh
#!/bin/bash
du -h ~ | tail -n 1
解説
#!/bin/bash
:この行は シェバン(Shebang) と呼ばれ、スクリプトを実行するシェル(この場合はbash
)を指定します。- シェバンの意味
・シェルスクリプトを実行する際に、指定されたシェルでスクリプトを解釈・実行します。
・スクリプトの互換性や動作を明確にするために重要です。 du -h ~ | tail -n 1
:ホームディレクトリのディスク使用量を表示するコマンド。
ステップ2:スクリプトに実行権限を付与
作成したシェルスクリプトに実行権限を追加します。
user01@ubuntu:~$ chmod +x disksize.sh
解説
chmod +x disksize.sh
:disksize.sh
に実行権限を付与します。- シェルスクリプトは実行可能なファイルである必要があります。
シェルスクリプトの実行
スクリプトを実行してみましょう。
user01@ubuntu:~$ ./disksize.sh
出力例
20M /home/user01
解説
./disksize.sh
:カレントディレクトリにあるdisksize.sh
を実行します。./
はカレントディレクトリを意味します。- スクリプト内のコマンドが実行され、ホームディレクトリのディスク使用量が表示されます。
注意点
- ファイル名の拡張子:
.sh
を付けることで、ファイルがシェルスクリプトであることを明示できます。 - シェバンの重要性:スクリプトをどのシェルで実行するかを指定し、意図した動作を確保します。
- 実行権限の付与:
chmod +x
コマンドで実行権限を付与しないと、スクリプトを直接実行できません。
不要なファイルの削除
作業が終わったら、不要になったシェルスクリプトを削除します。
user01@ubuntu:~$ rm disksize.sh
まとめ
- シェルスクリプトの作成:テキストエディタでコマンドを記述し、ファイルとして保存します。
- シェバンの記述:
#!/bin/bash
などでスクリプトを実行するシェルを指定します。 - 実行権限の付与:
chmod +x
コマンドでスクリプトに実行権限を付けます。 - スクリプトの実行:
./スクリプト名
で実行します。 - メリット
・コマンドの手入力を省略でき、効率的に作業が進められます。
・コマンドの入力ミスを防ぎ、信頼性が向上します。
・再利用性が高まり、他のユーザーとも共有できます。
シェルスクリプトを活用することで、日常的なタスクを自動化し、作業効率を大幅に向上させることができます。ぜひ積極的にシェルスクリプトを作成してみてください。