tcshでの文字列比較(パターンマッチング)

#!/bin/tcsh -x

# 単純比較(完全一致・不一致) == !=
if (str == str) then
    echo "True" # ←これ
else
    echo "False"
endif

if (str != str) then
    echo "True"
else
    echo "False" # ←これ
endif
#!/bin/tcsh -x

# パターンマッチング =~ !~
# ワイルドカードを使用できる
if (str =~ s*) then
    echo "True" # ←これ
else
    echo "False"
endif

if (str =~ s?r) then
    echo "True" # ←これ
else
    echo "False"
endif

if (str =~ {str,ing}) then
    echo "True" # ←これ
else
    echo "False"
endif

if (str =~ st[abp-t]) then
    echo "True" # ←これ
else
    echo "False"
endif

ワイルドカード正規表現とは異なります。
* 任意の0文字以上の文字
? 任意の1文字
[ ] いずれかの1文字。ハイフンで範囲指定
{ , } コンマで区切られた文字列のいずれか
上記を組み合わせて使用することもできる。

パターンマッチで使用できるワイルドカードは下記記事を参考にさせていただきました。
Linuxワイルドカード正規表現】の違いと変換,展開の動作 ~ ls, grep, findでの具体例の解説~
https://milestone-of-se.nesuke.com/sv-basic/linux-basic/wildcard-regular-expression/

シェルの種類によってif文や条件式の書き方が異なります。
tcshシェルスクリプトを書こうと思ってググってもシェルの種類が混同されて出てくるので困ることがあり、自分用のメモとして書きました。