私は何十回もパッチを当てた20年前のコードを使ってプロジェクトを進めています。Linuxテスト用の表現
これまでに見たことのないテストの表現があり、実際に行っていることをどのように分解するのか分かりません。
「YYYYMMDD」または「YYYYMMMDD」の形式の日付変数があります(たとえば、「20160629」または「2016JUN29」)。
テストは次のとおりです。
if [[ $datevar != *[0-9] ]]
then
<error notification>
exit 1
fi
は、誰かが '* [0-9]' 表現が何をしているのか説明できますか? AFAICT $ date変数に何が含まれていても、エラー終了は決してありません。日付を生成するコードに基づいて、 'YYYYMMMDD'形式にする必要があります。
このコードはもともとSun Solaris上で動作しましたが、RHEL 6.4ではkshシェルを使用して実行されています。
私は非常にリベラルな検証のようですか? $ datevarに何か(*)がついていて、その後に[0-9]の数字が来たら、おそらくすべてが渡る理由 – sloven
答えを受け入れることができますか? – agilob