changeset 5164:c2323c46e72e draft

01-test: Avoid use of grep and sort which might be in /usr This is a touch more long winded, but is fully shell and the output *should* be identical.
author Roy Marples <roy@marples.name>
date Tue, 21 Apr 2020 14:31:39 +0100
parents b1808edeb35d
children edce7d4339b8
files hooks/01-test
diffstat 1 files changed, 32 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/hooks/01-test	Tue Apr 21 10:34:09 2020 +0100
+++ b/hooks/01-test	Tue Apr 21 14:31:39 2020 +0100
@@ -1,9 +1,37 @@
 # Echo the interface flags, reason and message options
 
 if [ "$reason" = "TEST" ]; then
-	set | grep \
-	    "^\(interface\|pid\|reason\|protocol\|profile\|skip_hooks\)=" | sort
-	set | grep "^if\(carrier\|flags\|mtu\|wireless\|ssid\)=" | sort
-	set | grep "^\(new_\|old_\|nd[0-9]*_\)" | sort
+	# General variables at the top
+	set | while read line; do
+		case "$line" in
+		interface=*|pid=*|reason=*|protocol=*|profile=*|skip_hooks=*)
+			echo "$line";;
+		esac
+	done
+	# Interface flags
+	set | while read line; do
+		case "$line" in
+		ifcarrier=*|ifflags=*|ifmetric=*|ifmtu=*|ifwireless=*|ifssid=*)
+			echo "$line";;
+		esac
+	done
+	# Old lease
+	set | while read line; do
+		case "$line" in
+		old_*) echo "$line";;
+		esac
+	done
+	# New lease
+	set | while read line; do
+		case "$line" in
+		new_*) echo "$line";;
+		esac
+	done
+	# Router Advertisements
+	set | while read line; do
+		case "$line" in
+		nd[0-9]*_*) echo "$line";;
+		esac
+	done
 	exit 0
 fi