私は、複数の一致しない変更を BASH で機能させようとしています。
これは私が一致させようとしているものです。2 つのパラメーターがあり、スイッチ (-a、-b、-c、-d) が最初のパラメーターである場合。
例:
./scriptname -a ファイル名
./scriptname -d ファイル名
これが成功したことをエコーしたいのは、./
scriptname filename ipaddress.
動作するコードは次のとおりです。
if [[ "$#" = "2" && "$1" =~ ([^-a][^-b][^-c]) ]]
then
echo "success"
else
echo "fail"
fi
変更を拡張しようとすると、機能し([^-a][^-b][^-c][^-d])
なくなります。複数の構文バリアントを試しましたが、何も機能しないようです。また、次のようにグループ化しようとしました。
if [[ "$#" = "2" && "$1" =~ ([^-a][^-b]) && "$1" =~ ([^-c][^-d]) ]]
これも失敗します。