summaryrefslogtreecommitdiffstats
path: root/hooks
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2020-04-21 14:31:39 +0100
committerRoy Marples <roy@marples.name>2020-04-21 14:31:39 +0100
commit80cce843f46002ef7b82ccf8d5ce8e58b5bb2013 (patch)
treef7643a43705f80b9f8b6540c29612bd865ca4e38 /hooks
parent92a4102beb58d5f3b2c6aead6039d37a5f6b2d95 (diff)
downloaddhcpcd-80cce843f46002ef7b82ccf8d5ce8e58b5bb2013.tar.xz
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.
Diffstat (limited to 'hooks')
-rw-r--r--hooks/01-test36
1 files changed, 32 insertions, 4 deletions
diff --git a/hooks/01-test b/hooks/01-test
index 6732af79..99499425 100644
--- a/hooks/01-test
+++ b/hooks/01-test
@@ -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