シェルスクリプト

Linuxのシェルスクリプトとは、Linuxのターミナル(コマンドライン)で実行できるプログラムのことで、複数のコマンドを連続して実行するためのスクリプト言語です。

シェルスクリプトは、簡単なものから複雑なものまで、さまざまな用途で使用されます。

シェルスクリプトを学習するメリット

シェルスクリプトを学習するメリットは、以下のような点です。

  • コマンドラインでの作業を自動化できる
  • 同じ処理を繰り返す必要がある場合に、手動で行う必要がなくなる
  • システム管理や開発の効率が向上する

具体的な使用例としては、以下のようなものがあります。

  • ファイルのバックアップを定期的に自動化する
  • ログファイルの解析やデータの整形
  • 複数のコマンドをまとめて実行するプログラムの作成
  • システムの設定や管理を自動化するプログラムの作成

シェルスクリプトって、Windowsのバッチファイルみたいなもの?

シェルスクリプトとWindowsのバッチファイルは、どちらもプログラムを自動化するために使用されるスクリプト言語ですが、いくつかの違いがあります。

まず、シェルスクリプトは主にUnix系のオペレーティングシステム(LinuxやMac OSなど)で使用されるスクリプト言語であり、Windowsのコマンドプロンプトでは使用できません。

一方、Windowsのバッチファイルは、Windowsのコマンドプロンプトで使用されるスクリプト言語です。

また、シェルスクリプトとバッチファイルの文法やコマンドが異なります。

シェルスクリプトでは、シェルコマンドやUnixのコマンド、Linuxのツールなどを使用することができます。

一方、バッチファイルでは、WindowsのコマンドやPowerShellのコマンド、またはサードパーティ製のコマンドを使用することができます。

さらに、シェルスクリプトはプログラムの自動化やシステム管理、開発など、幅広い用途で使用される一方で、バッチファイルは主にWindowsのシステム管理や自動化、バッチ処理などに使用されます。

総じて言えるのは、シェルスクリプトとバッチファイルはそれぞれ異なる用途で使用されるスクリプト言語であるということです。

シェルスクリプトの基本的構文と具体的例

以下は、シェルスクリプトの基本的な構文と、具体的な使用例の一例です。

#!/bin/bash

# コメント
echo "Hello, world!" # "Hello, world!" と出力

# 変数
name="John"
echo "My name is $name" # "My name is John" と出力

# 条件分岐
if [ $name == "John" ]; then
  echo "Hi, John!"
else
  echo "Who are you?"
fi

# ループ
for i in 1 2 3; do
  echo $i
done

# 関数
function say_hello() {
  echo "Hello!"
}
say_hello # "Hello!" と出力

ファイルのバックアップを作成する例

#!/bin/bash

# ファイルのバックアップを作成する例
cp /path/to/file /path/to/backup/file_$(date +%Y%m%d).bak

このように、シェルスクリプトを学習することで、Linuxシステムの効率的な管理や開発を行うことができます。

シェルスクリプトを保存する場所は?

シェルスクリプトを保存する場所は、基本的に自分が編集しやすい場所であればどこでも構いません。

ただし、実行したい場合には、実行権限が必要となるため、保存場所には注意する必要があります。

一般的には、シェルスクリプトを保存するディレクトリに実行権限を付与することが多いです。

例えば、自分のホームディレクトリに "bin" というディレクトリを作成し、その中にシェルスクリプト「script.sh」を保存する場合、以下のように実行権限を付与することができます。

mkdir ~/bin    # ディレクトリの作成
nano ~/bin/script.sh    # シェルスクリプトの作成(nanoはエディタの一例)
chmod +x ~/bin/script.sh    # 実行権限の付与

このように実行権限を付与することで、シェルスクリプトを実行することができます。

シェルスクリプトを保存する方法は?

以下に、viを使用してシェルスクリプトを作成し、保存する手順を説明します。

vi について用語集の記事もご参照ください。

  1. viコマンドを使用して、新しいファイルを作成します。たとえば、script.shというファイル名で作成する場合、以下のコマンドを実行します。
$ vi script.sh

viエディタが起動したら、以下の処理を実行します。

  1. iキーを押して挿入モードに切り替えます。
  2. シェルスクリプトの内容を入力します。
    入力が完了したら、Escキーを押して挿入モードを終了します。
  3. ファイルを保存してviエディタを終了するには、以下の手順を実行します。
    • Escキーを押してコマンドモードに切り替えます。
    • :(コロン)を入力します。入力欄が出現します。
    • wqと入力します。これは、「保存して終了」という意味です。
    • Enterキーを押します。

これで、シェルスクリプトが保存されます。

保存したシェルスクリプトは、実行権限を与えてから実行することができるので、以下のコマンドで実行権限を与えます。

$ chmod +x script.sh

これで、./script.shというコマンドでシェルスクリプトを実行することができます。

シェルスクリプトの実行方法は?

以下のように、シェルスクリプトのファイル名を指定して実行することができます。

~/bin/script.sh

また、実行時には、シェルスクリプトの先頭行に #!/bin/bash のようにシバン(shebang)と呼ばれる行を書くことが推奨されています。

これにより、実行時にどのシェルで実行するかを指定するのです。

シェルスクリプトの先頭行にシバンを書いておくと、以下のように実行することができます。

./script.sh    # シバンが #!/bin/bash の場合

まとめ

以上のように、シェルスクリプトを「保存」して「実行」することができます。


マスタリングLinuxシェルスクリプト 第2版 ―
Linuxコマンド、bashスクリプト、シェルプログラミング実践入門
タイトルとURLをコピーしました