■ はじめに
シェルスクリプトの基本的な構文・文法を纏める。
目次
【0】注意事項 【1】「#!/bin/sh」「#!/bin/bash」 【2】変数 / 定数 【3】配列 【4】連結 【5】囲い文字 【6】標準出力 【7】条件分岐 【8】ループ 【9】引数
【0】注意事項
* Linuxで実行、Windowsでシェルを作成する際には、 シェルの改行コードを気を付ける => エラーで正常に動かなくなった
【1】「#!/bin/sh」「#!/bin/bash」
http://sechiro.hatenablog.com/entry/20120806/1344267619
が分かりやすい。以下の違いがある。
# | 設定 | エラー後の動作 |
---|---|---|
1 | #!/bin/sh | 実行しない(エラー即中断) |
2 | #!/bin/bash | 実行する(エラー後も実行) |
【2】変数 / 定数
* 大文字・小文字を区別
サンプル
# 変数「name」に "Mike" を設定 name=Mike # 変数を参照する際には、$[変数名] $name
【3】配列
* 以下の関連記事を参照のこと。
シェル ~ 基本編 / 配列 ~
https://dk521123.hatenablog.com/entry/2021/08/11/000000
【4】連結
VALUE1=Hello VALUE2="$VALUE1, World!"
サンプル
# コメント name=Mike echo "Hello World, $name"
【5】囲い文字
# | 記号 | 読み方 | 説明 | 備考 |
---|---|---|---|---|
1 | ' | シングルクォート | 囲った中身を文字列として出力 | |
2 | " | ダブルクォート | 囲った変数の中身を文字列として出力 | echo '$value' => そのまま「$value」と出力 |
3 | ` | バッククォート | 囲った変数の中身をコマンドとして処理し、その結果を出力 |
参考文献
https://nj-clucker.com/single-double-back-quote-on-shell-script/
【6】標準出力
# echo を使用 echo "Hello World!"
サンプル
currentPath=$(cd $(dirname $0);pwd) fullPath="${currentPath}/openssl.cnf" echo "Path ${fullPath}"
【7】条件分岐
詳細は以下の関連記事を参照のこと。
https://dk521123.hatenablog.com/entry/2015/05/01/000043
【8】ループ
詳細は以下の関連記事を参照のこと。
https://dk521123.hatenablog.com/entry/2021/08/09/000000
【9】引数
* 以下の関連記事を参照のこと。
シェル ~ 引数あれこれ ~
https://dk521123.hatenablog.com/entry/2021/07/11/000421
関連記事
シェル ~入門編~
https://dk521123.hatenablog.com/entry/2014/10/23/005406
シェル ~ 基本編・条件分岐 ~ if / case ~
https://dk521123.hatenablog.com/entry/2015/05/01/000043
シェル ~ 基本編・ループ while / for etc ~
https://dk521123.hatenablog.com/entry/2021/08/09/000000
シェル ~ 関数 ~
https://dk521123.hatenablog.com/entry/2015/03/17/233124
シェル ~ 基本編 / 配列 ~
https://dk521123.hatenablog.com/entry/2021/08/11/000000
シェル ~ 引数あれこれ ~
https://dk521123.hatenablog.com/entry/2021/07/11/000421
シェルスクリプトあれこれ
https://dk521123.hatenablog.com/entry/2018/03/03/210642
シェル ~ 非同期 ~
https://dk521123.hatenablog.com/entry/2023/06/01/000000