Jeffは次のように書きました。負の名前のファイル名のパラメータ拡張エラー
[[ $b =~ ^-0+([0-9]+)$ ]] && b=-${BASH_REMATCH[1]}
この時点で最良の方向は、負の数になる可能性がある数字から前のゼロを削除するなどの操作を実行することです。
0
パターンの開始番号が必ず必要かどうか疑問に思います。つまり、^-0+([0-9]+)
パターンはと同じですか^-0+([1-9]+)
?ありがとうございます。
ベストアンサー1
いいえ、^-0+([1-9]+)
そのような数字は一致しません-320
。
-320
編集:パターンをもう一度読むと、実際には不一致の2つの理由があります。
0
後ろには'がありません-
(+
必ずあるべきだと言います)。しかし、これは両方のモードの違いではなく、欠陥である可能性があります。0
ゼロ以外の最初の数字の後にはパターン間の違いがあります。