はじめに
Linuxを学習していると「シェルスクリプト」という言葉をよく見かけると思います。
LinuC101の試験範囲にも含まれており、Linuxを扱う上で基本となる知識の一つです。
ただ、最初にこの言葉を聞くと「プログラミングみたいで難しそう」と感じる人も多いかもしれません。
実際にはそこまで難しいものではなく、シェルスクリプトは 普段ターミナルで実行しているコマンドをまとめて自動実行できる仕組み です。
例えば次のような作業は、Linuxを使っているとよく発生します。
-
ファイルをバックアップする
-
不要なログファイルを削除する
-
複数のコマンドを順番に実行する
このような処理を毎回手動で実行するのは手間がかかります。
そこで役立つのがシェルスクリプトです。
今回はLinux初心者向けに、シェルスクリプトとは何か、どんな場面で使われるのか、そしてファイルの作り方や実行方法について解説していきます。
やりたいこと
-
シェルスクリプトとは何か理解する
-
シェルスクリプトが使われる場面を知る
-
シェルスクリプトのファイルの作り方を理解する
-
実行するために必要な設定を知る
シェルスクリプトとは
シェルスクリプトとは、シェル(bashなど)で実行されるスクリプトファイルで、Linuxコマンドや処理をまとめて自動実行できる仕組みです。
Linuxでは、ターミナルでコマンドを入力して操作を行います。
例えば、ファイル一覧を表示する場合は ls コマンドを使いますし、ファイルをコピーする場合は cp コマンドを使います。
こうしたコマンドを1つずつ手動で実行するのではなく、複数のコマンドをファイルにまとめて記述し、一度に実行できるようにしたものがシェルスクリプトです。
つまり、シェルスクリプトは「Linuxの操作を自動化するための仕組み」と言えます。
シェルスクリプトを使うことで、作業の効率化やミスの防止につながります。
シェルスクリプトはどんな場面で使う?
シェルスクリプトは、Linuxの運用や開発の現場でよく使われています。
ここでは代表的な利用例を紹介します。
ファイルのバックアップ
定期的に重要なファイルをバックアップする処理はよく行われます。
例えば、特定のディレクトリのファイルを別の場所にコピーする作業です。
cp file.txt backup/
ログファイルの整理
サーバーではログファイルがどんどん増えていきます。
不要なログを定期的に削除する処理を自動化するために、シェルスクリプトが使われることもあります。
例えば、特定の拡張子のログファイルを削除するような処理です。
rm *.log
これをスクリプトにしておけば、定期的に実行することができます。
複数コマンドの自動実行
システムの更新やデプロイ作業では、複数のコマンドを順番に実行することがあります。
例えば次のような処理です。
-
最新コードを取得する
-
アプリケーションをビルドする
-
サービスを再起動する
こうした処理をシェルスクリプトにまとめておくことで、1つのコマンドで一連の作業を実行できるようになります。
準備するもの
ディレクトリ構成
シェルスクリプトは、特別なディレクトリ構成を用意する必要はありません。
任意のディレクトリで作成できます。
例
script/ └ test.sh
シェルスクリプトのファイルの作り方
シェルスクリプトは通常、拡張子 .sh のファイルとして作成されます。
例えば次のようなファイル名です。
cleanup.sh
deploy.sh
この .sh は必須ではありませんが、シェルスクリプトであることが分かりやすくなるため、多くの場合この拡張子が使われます。
ファイルを作成する方法はいくつかありますが、代表的な方法は次の通りです。
またはエディタを使って作成します。
コードスクリプト
コードスクリプトの概要
シェルスクリプトを書くときは、最初に どのシェルで実行するのか を指定することが一般的です。
そのために使用するのが次の記述です。
コードスクリプト
#!/bin/bash
これは shebang(シバン) と呼ばれる記述で、「このスクリプトをbashで実行する」という意味になります。
Linuxには複数のシェルがありますが、最もよく使われているのが bash(Bourne Again Shell) です。
シェルスクリプトを書くときは、このように実行するシェルを明示しておくのが一般的です。
実行結果
シェルスクリプトを実行するためには、実行権限を付与する必要があります。
その後、次のようにしてスクリプトを実行します。
./ は「現在のディレクトリ」を意味します。
つまり「今いるディレクトリの中にある test.sh を実行する」という意味になります。
コード解説
Linuxでは、ファイルごとに「読み取り」「書き込み」「実行」という権限が設定されています。
シェルスクリプトも通常のファイルと同じように扱われるため、実行するためには 実行権限 が必要になります。
chmod コマンドを使うことで、その権限を追加することができます。
この仕組みはLinuC101の試験でもよく出題されるため、覚えておくと良いでしょう。
注意点
シェルスクリプトを作成しただけでは、すぐに実行できるわけではありません。
以下の2つのポイントに注意する必要があります。
-
#!/bin/bashで実行するシェルを指定する -
chmod +xで実行権限を付与する
この2つを忘れると、スクリプトが正常に動作しない場合があります。
まとめ
今回はLinuxのシェルスクリプトについて、初心者向けに基本的な内容を解説しました。
ポイントを整理すると次の通りです。
-
シェルスクリプトはLinuxのコマンドをまとめて実行する仕組み
-
作業の自動化や効率化に役立つ
-
.shファイルとして作成することが多い -
#!/bin/bashで実行するシェルを指定する -
chmod +xで実行権限を付与して実行する
シェルスクリプトを使えるようになると、Linuxの作業を効率化できるようになります。


コメント