Last Update 2022/06/06
変数
名前で示されるパラメータ
テスト概要
変数への値の代入と格納値の確認
先頭が0である数値を格納した変数
変数への値の代入と格納値の確認
挙動確認用スクリプトファイル
sample.sh
#!/bin/bash
#引用符無しで数値を変数に代入
v1=123
#引用符付きで数値を変数に代入
v2="123"
#引用符無しで文字列を変数に代入
v3=abcde
#引用符付きで文字列を変数に代入
v4="abcde"
#変数に「空」の値を代入
v5=
#格納値一覧表示
echo "$v1" "$v2" "$v3" "$v4" "\"$v5\""
#数値を格納したv1とv2の比較
if [[ "$v1" == "$v2" ]]; then
echo "v1 == v2"
fi
#数値を格納したv1と数値の比較
if [[ "$v2" -eq 123 ]]; then
echo "v2 -eq 123"
fi
#文字列を格納したv3とv4の比較
if [[ "$v3" == "$v4" ]]; then
echo "v3 == v4"
fi
#文字列を格納したv3とv4の比較
if [[ "$v4" == "abcde" ]]; then
echo "v4 == \"abcde\""
fi
#「空」の値をを格納したv5と0の比較
if [[ "$v5" -eq 0 ]]; then
echo "v5 -eq 0"
fi
#「空」の値をを格納したv5と""(空文字列)の比較
if [[ "$v5" == "" ]]; then
echo "v5 == \"\""
fi
#「空」の値をを格納したv5の文字列長が0であることを確認
if [[ -z "$v5" ]]; then
echo "v5は長さ0"
fi
$ ./sample.sh
123 123 abcde abcde ""
v1 == v2 <--- 数値代入時の引用符有無に関する比較
v2 -eq 123 <--- 格納値が数字の変数と数値との比較
v3 == v4 <--- 文字列代入時の引用符有無に関する比較
v4 == "abcde" <--- 格納値が文字列の変数と文字定数との比較
v5 -eq 0 <--- 「空」の値をを格納した変数と0の比較
v5 == "" <--- 「空」の値をを格納したv5と""(空文字列)の比較
v5は長さ0 <--- 「空」の値をを格納したv5の文字列長が0であることを確認
$
先頭が0である数値を格納した変数
sample.sh
#!/bin/bash
#先頭が0で始まる数値を代入
v1=012
#先頭が複数の0で始まる数値を代入
v2=000012
echo $v1 $v2
#v1と8進数の比較
if [[ "$v1" -eq 10 ]]; then
echo "v1 -eq 10"
fi
#v2と余分な0を削除した数値との比較
if [[ "$v2" -eq 012 ]]; then
echo "v2 -eq 012"
fi
$ ./sample.sh
012 000012 <--- 格納値は代入文字列のまま
v1 -eq 10
v2 -eq 012
$
先頭に0がある数値は8進数として処理される
実行環境
GNU bash, version 5.1.16
コード例・出力内容中の表記
・実行例中の太字表記部分は、コマンドなどの入力された文字列を示します。
・「︙」や「...」の着色省略表記は、 実際のソースコードや出力内容などを省略加工した部分を示します。
・「︙」や「...」の着色省略表記は、 実際のソースコードや出力内容などを省略加工した部分を示します。