bashでif文の比較要素
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[Shell]]
* if文の比較要素 [#f72b4fbd]
#contents
** 数値 [#y028bdc4]
,A -eq B,とBが等しければ true,equal,=
,A -ne B,とBが等しくなければ true,not equal,!=
,A -gt B,がBより大なら true,greater than,>
,A -ge B,がB以上なら true,greater than or equal,>=
,A -lt B,がBより小なら true,less than,<
,A -le B,がB以下なら true,less than or equal,<=
** 文字列 [#x04530ef]
*** 一致 [#xa66f1af]
if [ ${A} == "ABC" ];then...
*** 不一致 [#d73adf5b]
if [ ${A} != "ABC" ];then...
** 正規表現 [#k6fd008e]
if [[ ${A} =~ ^[ABC]+$ ]];then...
否定はちょっとわからなかった。
** and or [#ff7b6d66]
*** AND [#l3a6d406]
$ [ ${A} == "ABC" -a 1 -eq 1 ];echo $?
1
$
*** OR [#z0e7f6ec]
$ [ ${A} == "ABC" -o 1 -eq 1 ];echo $?
0
$
** 別の書き方 [#w9e6560a]
A="ABCDEFG H"
if [[ "${A}" =~ ^[A-Z]+$ ]] || [[ "${A}" =~ ABC ]];then
echo "OK"
fi
if [[ "${A}" =~ ^[A-Z]+$ ]] && [[ "${A}" =~ ABC ]];then
echo "OK"
else
echo "NG"
fi
if [[ "${A}" =~ ABC ]];then
echo "OK"
else
echo "NG"
fi
*** 実行結果 [#see8bb65]
$ sh ~/bin/test99.sh
OK
NG
OK
* 注意 [#u19d0693]
ただし、and or で -a や -o を使う場合は以下に注意。
** 引用元 [#zccae8ee]
- https://pubs.opengroup.org/onlinepubs/9699919799/help/c...
> Obsolescent [Option End]
The functionality described may be removed in a future ve...
> (和訳)廃止予定[オプション終了]
記載されている機能は、POSIX.1-2017 のこの巻の将来のバージ...
ふむ。
終了行:
[[Shell]]
* if文の比較要素 [#f72b4fbd]
#contents
** 数値 [#y028bdc4]
,A -eq B,とBが等しければ true,equal,=
,A -ne B,とBが等しくなければ true,not equal,!=
,A -gt B,がBより大なら true,greater than,>
,A -ge B,がB以上なら true,greater than or equal,>=
,A -lt B,がBより小なら true,less than,<
,A -le B,がB以下なら true,less than or equal,<=
** 文字列 [#x04530ef]
*** 一致 [#xa66f1af]
if [ ${A} == "ABC" ];then...
*** 不一致 [#d73adf5b]
if [ ${A} != "ABC" ];then...
** 正規表現 [#k6fd008e]
if [[ ${A} =~ ^[ABC]+$ ]];then...
否定はちょっとわからなかった。
** and or [#ff7b6d66]
*** AND [#l3a6d406]
$ [ ${A} == "ABC" -a 1 -eq 1 ];echo $?
1
$
*** OR [#z0e7f6ec]
$ [ ${A} == "ABC" -o 1 -eq 1 ];echo $?
0
$
** 別の書き方 [#w9e6560a]
A="ABCDEFG H"
if [[ "${A}" =~ ^[A-Z]+$ ]] || [[ "${A}" =~ ABC ]];then
echo "OK"
fi
if [[ "${A}" =~ ^[A-Z]+$ ]] && [[ "${A}" =~ ABC ]];then
echo "OK"
else
echo "NG"
fi
if [[ "${A}" =~ ABC ]];then
echo "OK"
else
echo "NG"
fi
*** 実行結果 [#see8bb65]
$ sh ~/bin/test99.sh
OK
NG
OK
* 注意 [#u19d0693]
ただし、and or で -a や -o を使う場合は以下に注意。
** 引用元 [#zccae8ee]
- https://pubs.opengroup.org/onlinepubs/9699919799/help/c...
> Obsolescent [Option End]
The functionality described may be removed in a future ve...
> (和訳)廃止予定[オプション終了]
記載されている機能は、POSIX.1-2017 のこの巻の将来のバージ...
ふむ。
ページ名: