0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ひとりアドベントカレンダー WSLで学ぶLINUXコマンドAdvent Calendar 2024

Day 13

シェルスクリプトの基本(連載第13回/25回)

Last updated at Posted at 2024-12-12

はじめに

シェルスクリプトは、複数のコマンドを一連のタスクとして自動化するために使用される強力なツールです。ここでは、シェルスクリプトの基本的な書き方と基本文法を紹介します。

シェルスクリプトの作成

シェルスクリプトは通常、テキストエディタを使用して作成され、.sh 拡張子を持ちます。

  1. スクリプトファイルの作成

    nano script.sh
    
  2. シバン(Shebang)の追加
    スクリプトの最初の行に以下を追加して、スクリプトをどのシェルで実行するかを指定します。

    #!/bin/bash
    

基本的なスクリプトの構造

#!/bin/bash

# コメントは#から始まります
echo "Hello, World!"    # 文字列を出力

# 変数の定義
name="Alice"
echo "Hello, $name"

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

# ループ
for i in {1..5}; do
  echo "Number: $i"
done

基本的な文法

コメント:# を使ってコメントを追加できます。

# これはコメントです

変数:変数の定義は = で行い、アクセスする際は $ を使用します。

greeting="Hello"
echo $greeting

条件分岐:if 文を使って条件を評価します。

if [ "$var" -eq 1 ]; then
  echo "True"
else
  echo "False"
fi

ループ:for ループや while ループを使って繰り返し処理を行います。

for i in {1..10}; do
  echo "Iteration $i"
done

関数:関数を定義して再利用可能なコードブロックを作成します。

my_function() {
  echo "This is a function"
}

my_function

応用例
ディレクトリ内の全ファイルを表示

#!/bin/bash
for file in *; do
  echo "Found file: $file"
done

バックアップスクリプト

bash
#!/bin/bash
src="/path/to/source"
dest="/path/to/destination"
tar -czf "$dest/backup_$(date +%F).tar.gz" "$src"
echo "Backup completed."

おわりに

シェルスクリプトを使用することで、タスクの自動化や繰り返し処理が簡単に行えるようになります。
次の記事では、データのバックアップと復元について説明します。

一覧

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?