From e1036011baf9204d5fe6dd74e5a65f95b9681ebd Mon Sep 17 00:00:00 2001 From: Ioana Ciornei Date: Tue, 24 Oct 2017 16:29:56 +0000 Subject: [PATCH 07/12] scripts: use Bourne shell's pattern matching Signed-off-by: Ioana Ciornei --- scripts/ls-main | 71 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 35 insertions(+), 36 deletions(-) diff --git a/scripts/ls-main b/scripts/ls-main index b0c742e..a8b9573 100755 --- a/scripts/ls-main +++ b/scripts/ls-main @@ -72,8 +72,6 @@ # ## -shopt -s extglob - # Intercept the Ctrl+C command but do not interrupt execution trap ' ' INT @@ -370,15 +368,16 @@ process_addmux() { -c=* | --container=*) container="${i#*=}" ;; - *(dprc.+([0-9])/)dpmac.+([0-9])) - endpoint="${i#*=}" - ;; - *(dprc.+([0-9])/)dpni.+([0-9])) - endpoint="${i#*=}" - ;; *) - usage_addmux - exit 1 + arg_dpmac="$(echo $i | grep -x -E "(dprc.[0-9]+/)*dpmac.[0-9]+" || true )" + arg_dpni="$(echo $i | grep -x -E "(dprc.+[0-9]+/)*dpni.[0-9]+" || true )" + if [ "$i" = "$arg_dpmac" ] || + [ "$i" = "$arg_dpni" ]; then + endpoint="$i" + else + usage_addmux + exit 1 + fi ;; esac done @@ -560,14 +559,17 @@ process_addsw() { -c=* | --container=*) container="${i#*=}" ;; - @(dpni|dpmac).+([0-9])) - endpoint="${endpoint}"$'\n'"${i}" - ifcnt=$((ifcnt + 1)) - ;; *) - echo "Error: $i argument is invalid" - usage_addsw - exit 1 + arg_dpmac="$(echo $i | grep -x -E "dpmac.[0-9]+" || true )" + arg_dpni="$(echo $i | grep -x -E "dpni.[0-9]+" || true )" + if [ "$i" = "$arg_dpmac" ] || + [ "$i" = "$arg_dpni" ]; then + endpoint="$i" + else + echo "Error: $i argument is invalid" + usage_addsw + exit 1 + fi ;; esac done @@ -704,7 +706,8 @@ process_addni() { ;; --mac-addr=*) mac_addr="${i#*=}" - if [[ ! "$mac_addr" =~ ^([a-fA-F0-9]{2}:){5}[a-fA-F0-9]{2}$ ]]; then + mac_addr_valid="$(echo $mac_addr | grep -x -E "^([a-fA-F0-9]{2}:){5}[a-fA-F0-9]{2}$" || true )" + if [ "$mac_addr" != "$mac_addr_valid" ]; then echo "Invalid MAC address: $mac_addr" exit 1 fi @@ -776,25 +779,21 @@ process_addni() { -o=* | --options=*) options="${i#*=}" ;; - *(dprc.+([0-9])/)dpmac.+([0-9])) - no_link=0 - endpoint="${i#*=}" - ;; - *(dprc.+([0-9])/)dpni.+([0-9])) - no_link=0 - endpoint="${i#*=}" - ;; - *(dprc.+([0-9])/)dpdmux.+([0-9]).+([0-9])) - no_link=0 - endpoint="${i#*=}" - ;; - *(dprc.+([0-9])/)dpsw.+([0-9]).+([0-9])) - no_link=0 - endpoint="${i#*=}" - ;; *) - usage_addni - exit 1 + arg_dpmac="$(echo $i | grep -x -E "(dprc.[0-9]+/)*dpmac.[0-9]+" || true )" + arg_dpni="$(echo $i | grep -x -E "(dprc.+[0-9]+/)*dpni.[0-9]+" || true )" + arg_dpdmux="$(echo $i | grep -x -E "(dprc.[0-9]+/)*dpdmux.[0-9]+.[0-9]+" || true )" + arg_dpsw="$(echo $i | grep -x -E "(dprc.[0-9]+/)*dpsw.[0-9]+.[0-9]+" || true )" + if [ "$i" = "$arg_dpmac" ] || + [ "$i" = "$arg_dpni" ] || + [ "$i" = "$arg_dpdmux" ] || + [ "$i" = "$arg_dpsw" ]; then + no_link=0 + endpoint="$i" + else + usage_addni + exit 1 + fi ;; esac done -- 2.14.1