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?

これでシェルスクリプトの基本的な文法をマスター!

今から駆け出しエンジニアのために
シェルスクリプトの基礎となる文法をレクチャーしていきます!
この記事はBash向けに書かれたものです。

Shebang(シェバン)

#!/bin/bash

取り敢えずシェルスクリプト(Bash)の一番最初にはこれを書きましょう。
「このスクリプトはBashで書くよ」という宣言をします。
書かなければいけない理由は長くなるので省略しますが、
きっといずれわかるようになるはずです。
これを活用すればプログラミング言語の宣言なども可能になります。

コメント

# これはコメントです

行全体がコメントとして扱われます。
スクリプトに注釈を付けたいときに使いましょう。

変数の定義

name="たかし"  # 変数に値を代入
echo $name   # 変数の値を表示

変数に値を代入する場合、スペースを入れずに=で設定します。

  • 変数を参照するには$を使います
  • 変数の参照には$nameのように書きます

条件分岐(if文)

if [ $name == "たかし" ]; then
    echo "こんにちは、たかし!"
else
    echo "あなた誰ですか"
fi
  • 条件式の前後にスペースを空ける必要があります
  • [ ... ] は条件式を評価するための構文です
  • ==は文字列の比較に使います

繰り返し(for文)

for i in 1 2 3 4 5; do
    echo "番号 $i"
done

また、forループで指定されたリストを使うこともできます。

for i in {1..5}; do
    echo "番号 $i"
done

while文

whileループは条件がtrueの間繰り返しを実行します。

i=1
while [ $i -le 5 ]; do
    echo "番号 $i"
    ((i++))  # iの値をインクリメント
done

関数の定義

関数を定義する際には次のように書きます。

function greet() {
    echo "こんにちは、$1!"  # 引数$1を表示
}
greet "たかし"  # 関数を呼び出す

配列

Bashでは配列を使うこともできます。

people=("たかし" "たけし" "たくや")
echo ${people[0]}  # 配列の最初の要素を表示
  • 配列のインデックスは0から始まります
  • 配列の長さを取得するには${people#[@]}を使用します

標準入力/出力

  • 標準出力への表示にはechoを使います
echo "こんにちは、たかし!"
  • 標準入力を受け取るにはreadを使います
echo "名前は?"
read name
echo "こんにちは、$name!"

ファイルの読み書き

Bashではファイルを読み書きすることができます。

  • ファイルに書き込むには>(上書き)や>>(追記)を使用します
echo "これはたかしです" > test.txt  # 上書き
echo "これはたかしではありません" >> test.txt  # 追記
  • ファイルの内容を読み込むにはcatを使用します
cat test.txt

複数のコマンドを実行する

  • ;を使って複数のコマンドを1行で実行できます
echo "たかし"; echo "たけし"
  • &&は前のコマンドが成功した場合に次を実行します
echo "蘇生成功" && echo "たかしが蘇りました!"
  • ||は前のコマンドが失敗した場合に次を実行します
echo "蘇生失敗" || echo "たかしは寝たきりです"

プロセスのバックグラウンド実行

コマンドをバックグラウンドで実行するには、コマンドの後ろに&を付けます。

複雑なコマンドの使い方

  • コマンドの出力を変数に代入する方法:
output=$(ls -l)
echo "$output"
  • パイプ(|)を使ってコマンドを繋げる:
cat file.txt | grep "たかし"
  • リダイレクトを使って出力をファイルに保存する:
echo "たかし" > output.txt
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?