#!/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でシェルスクリプトを書こうと思ってググってもシェルの種類が混同されて出てくるので困ることがあり、自分用のメモとして書きました。
2022/02/12(土)追記
引用ではなく、スーパーpre記法でシンタックスハイライトができました。ありがとう、はてなブログ。
ソースコードを色付けして表示する(シンタックスハイライト) - はてなブログ ヘルプ