shell script
コメント
# ここはコメント
変数定義
数値
HOGE=1echo $HOGE
文字列
HOGE="HOGE"echo $HOGE
HOGE="HOGE"echo $HOGE
出力(echo)
HOGE=1echo $HOGE
日付書式
現在日時
yyyymmddHHMMSS
NOW=$(TZ=UTC-9 date '+%Y%m%d%H%M%S')echo $NOW# 2021.01.02 12:34:56に実行# > 2021010212345620210119172510
ストリーム操作(sed:Stream Editor)
入力ストリームに対してテキスト変換などのデータ処理をおこなうために使用されるプログラムである。名称「sed」は「ストリームエディタ」を意味する英語「stream editor」に由来する。
-e --expression
スクリプトを指定する。
※省略可能
# 文字列の置換sed -e "s/{検索文字列}/{置換後文字列}/" {ファイルパス}
--in-place -i オプション
# 文字列の置換をし、上書き保存sed -i -e "s/{検索文字列}/{置換後文字列}/" {ファイルパス}
標準入出力の処理(tee)
上書き
echo "test" | tee {ファイルパス}
追記
echo "test" | tee -a {ファイルパス}
条件分岐
if
if {条件} then# 処理1else# 処理2fi
文字列を検索し、置換
if grep -q "{検索文字列}" {ファイルパス}; then# 処理1echo 検索結果なしelse# 処理2sed -i -e "s/{検索文字列}/{置換後文字列}/" {ファイルパス}fi
case
echo 確認 yes / noread confirmcase $confirm inyes)echo "YES";;no)echo "NO";;*)echo "その他";;esac