Mercurial > hg > dhcpcd
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
