1

次のコードを使用して、bash スクリプトで正しい日付形式を確認しています。

if [[ $variable == [0-9][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9] ]]

形式は次のとおりです: YYYY-MM-DD

これは bash では問題なく動作しますが、dash または sh で実行しようとすると問題が発生します。これを書き直して、dash と sh と互換性を持たせるのを手伝ってくれませんか? または、代わりに、すべてのシェルで使用できる別のソリューションを見つけますか?

前もって感謝します !

4

1 に答える 1

0

caseダッシュでも動作するはずです:

case 0015-18-32 in 
    [0-9][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9] ) echo yes ;;
esac
于 2015-03-20T13:37:49.510 に答える