[PATCH v2] Remove double equals.
Tim Niemeyer
tim at tn-x.org
Mi Jul 25 23:17:39 CEST 2018
Am Mittwoch, den 25.07.2018, 18:00 +0200 schrieb Robert Langhammer:
> == is a bash specific alias for = , and
> should not be used in #!/bin/sh scripts. Not in #!/usr/bin/haserl scripts
> either, where the shell defaults to /bin/sh.
>
> > Signed-off-by: Robert Langhammer <rlanghammer at web.de>
>
> ---
>
> Changes in v2:
> - do an integer comparison when the operand is an integer
> - use -z to test an empty string
>
> ---
> .../fff-hoods/files/usr/lib/functions/fff/hoodfile | 4 ++--
> .../fff/fff-hoods/files/usr/sbin/configurehood | 8 +++----
> .../fff/fff-vpn-select/files/usr/sbin/vpn-select | 2 +-
> .../fff/fff-web/files/www/ssl/cgi-bin/header | 2 +-
> .../fff/fff-web/files/www/ssl/cgi-bin/home.html | 2 +-
> .../fff-web/files/www/ssl/cgi-bin/password.html | 6 ++---
> .../fff/fff-web/files/www/ssl/cgi-bin/ports.html | 26 +++++++++++-----------
> .../fff/fff-web/files/www/ssl/cgi-bin/reboot.html | 4 ++--
> .../fff-web/files/www/ssl/cgi-bin/settings.html | 14 ++++++------
> .../fff/fff-web/files/www/ssl/cgi-bin/upgrade.html | 12 +++++-----
> 10 files changed, 40 insertions(+), 40 deletions(-)
>
> diff --git a/src/packages/fff/fff-hoods/files/usr/lib/functions/fff/hoodfile b/src/packages/fff/fff-hoods/files/usr/lib/functions/fff/hoodfile
> index 8c80802..89af84c 100644
> --- a/src/packages/fff/fff-hoods/files/usr/lib/functions/fff/hoodfile
> +++ b/src/packages/fff/fff-hoods/files/usr/lib/functions/fff/hoodfile
> @@ -94,10 +94,10 @@ getGatewayHoodfile() {
> }
>
> getKeyserverHoodfile() {
> > - if [ $# == 1 ]; then
> > + if [ $# -eq 1 ]; then
> > lat=$(uci -q get fff.system.latitude)
> > long=$(uci -q get fff.system.longitude)
> > - elif [ $# == 3 ]; then
> > + elif [ $# -eq 3 ]; then
> > lat=$2
> > long=$3
> > else
> diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> index 86d83fc..c2c2506 100755
> --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> @@ -158,16 +158,16 @@ if [ -s "$hoodfile" ]; then
> > exit 1
> > fi
>
> > - # add 802.11s mesh if type == "802.11s"
> > - if ( [ -n "$radio5" ] && [ "$mesh_type5" == "802.11s" ] ) || [ "$mesh_type2" == "802.11s" ]; then
> > + # add 802.11s mesh if type = "802.11s"
> > + if ( [ -n "$radio5" ] && [ "$mesh_type5" = "802.11s" ] ) || [ "$mesh_type2" = "802.11s" ]; then
> > if ! wifiAddMesh "$radio" "$mesh_id"; then
> > echo "Can't add Mesh interface on $radio."
> > exit 1
> > fi
> > fi
>
> > - # add IBSS mesh if type == "ibss"
> > - if ( [ -n "$radio5" ] && [ "$mesh_type5" == "ibss" ] ) || [ "$mesh_type2" == "ibss" ]; then
> > + # add IBSS mesh if type = "ibss"
> > + if ( [ -n "$radio5" ] && [ "$mesh_type5" = "ibss" ] ) || [ "$mesh_type2" = "ibss" ]; then
> > if ! wifiAddAdHocMesh "$radio" "$mesh_essid" "$mesh_bssid"; then
> > echo "Can't add AdHocMesh interface on $radio."
> > exit 1
> diff --git a/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-select b/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-select
> index 85930a8..2a1c631 100755
> --- a/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-select
> +++ b/src/packages/fff/fff-vpn-select/files/usr/sbin/vpn-select
> @@ -15,7 +15,7 @@ json_select vpn
> while json_select "$Index" > /dev/null
> do
> > json_get_var protocol protocol
> > - if [ "$protocol" == "fastd" ]; then
> > + if [ "$protocol" = "fastd" ]; then
> > json_get_var servername name
> > filename="/etc/fastd/fff/peers/$servername"
> > echo "#name \"${servername}\";" > "$filename"
> diff --git a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/header b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/header
> index d149c04..b9ca1b6 100755
> --- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/header
> +++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/header
> @@ -9,7 +9,7 @@ UPGRADE_PATH="$(getUpgradePath)"
> echo -en "Content-Type: text/html\r\n\r\n"
> nav_entry() {
> > script_file="/cgi-bin/$1"
> > - if [ "$script_file" == "$REQUEST_URI" ] ; then
> > + if [ "$script_file" = "$REQUEST_URI" ] ; then
> > local class_active=' class="active"'
> > fi
> > echo -ne "\t<li${class_active}><a href=\"${script_file}\">$2</a></li>\n\t\t"
> diff --git a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html
> index 21bd4e7..821f7a0 100755
> --- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html
> +++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html
> @@ -5,7 +5,7 @@
> . /lib/functions/fff/evalhoodinfo
>
> # prepare
> -if [ "$REQUEST_METHOD" == "POST" ] ; then
> +if [ "$REQUEST_METHOD" = "POST" ] ; then
> > if [ "$POST_resethood" != "" ] ; then
> > # reset hood
> > rm "$hoodfilecopy" 2> /dev/null
> diff --git a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/password.html b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/password.html
> index d3287bf..fc3055a 100755
> --- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/password.html
> +++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/password.html
> @@ -2,10 +2,10 @@
>
> <%
> # write
> -if [ "$REQUEST_METHOD" == "POST" ] ; then
> +if [ "$REQUEST_METHOD" = "POST" ] ; then
> > #check for special characters in password
> > regex='^[a-zA-Z0-9!#\$%\(\)\*\+,\.:;=\?@\^_-]+$'
> > - if [ "$POST_pass1" == "" ] ; then
> > + if [ -z "$POST_pass1" ] ; then
> > MSG='<span class="red">Das Passwort darf nicht leer sein!</span>'
> elif ! echo -n "$POST_pass1" | egrep -q "$regex"; then
> > MSG='<span class="red">Passwort enthält ungültige Zeichen!</span>'
> @@ -46,7 +46,7 @@ fi
> <%in /www/ssl/cgi-bin/footer %>
> <%
> #force instant password change
> -if [ "$restart_uhttpd" == "1" ] ; then
> +if [ "$restart_uhttpd" -eq 1 ] ; then
Für den Fall, dass $restart_uhttpd leer ist, würde es nicht korrekt
sein:
--- %< ---
# if [[ "" -eq 1 ]]; then echo true; else echo false; fi
-ash: out of range
false
--- >% ---
Dummerweise weiß ich jetzt auch nicht, wie man damit gut umgeht.
a) Doch einen String-Vergleich machen?
if [ "X$restart_uhttpd" = "X1" ] ; then
b) Oder beim -eq bleiben, aber ne Null ran?
if [ "0$restart_uhttpd" -eq 1 ] ; then
c) Oder die Fehlermeldung ignorieren??
Keine Ahnung.. ;)
Diese Anmerkung gilt natürlich auch für alle folgenden -eq Vergleiche.
Tim
> /etc/init.d/uhttpd restart 2>/dev/null
> fi
> %>
> diff --git a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/ports.html b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/ports.html
> index 5912126..01506fc 100755
> --- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/ports.html
> +++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/ports.html
> @@ -3,7 +3,7 @@
> <%
> board_name=$(uci -q get board.model.name)
> # write
> -if [ "$REQUEST_METHOD" == "POST" ] ; then
> +if [ "$REQUEST_METHOD" = "POST" ] ; then
> > if [ "$POST_change_mode" != "" ] ; then
> > sed -i '/^.*# set via WebUI/d' /etc/network.config
> > echo "ETHMODE=\"${POST_mode}\" # set via WebUI" >> /etc/network.config
> @@ -45,7 +45,7 @@ format_state() {
> format_port() {
> > port=$(echo "$1" | sed 's/.* port:\([^ ]*\) .*/\1/')
> > link=$(echo "$1" | sed 's/.* link:\([^ ]*\).*/\1/')
> > - if [ "$link" == "up" ] ; then
> > + if [ "$link" = "up" ] ; then
> > speed=$(echo "$1" | sed 's/.* speed:\([^ ]*\).*/\1/')
> > duplex=$(echo "$1" | sed 's/.* \([^ ]*-duplex\).*/\1/')
> > else
> @@ -95,7 +95,7 @@ format_port() {
> > if [ ! "$(awk -F= '/WANDEV=/ { print $2 }' /etc/network.$board_name)" = "$(awk -F= '/SWITCHDEV=/ { print $2 }' /etc/network.$board_name)" ] ; then
> > wanif=$(uci -q get network.wan.ifname)
> > link=$(cat /sys/class/net/${wanif}/operstate)
> > - if [ "$link" == "up" ] ; then
> > + if [ "$link" = "up" ] ; then
> > speed="connected"
> > else
> > speed="no link"
> @@ -166,10 +166,10 @@ format_port() {
> > <th style="width: 1em;">Anschluss Modus:</th>
> > <td>
> > <select name="mode">
> > - <option value="BATMAN" <% [ "$ETHMODE" == "BATMAN" ] && echo -n 'selected="selected" ' %>>BATMAN</option>
> > - <option value="CLIENT" <% [ "$ETHMODE" == "CLIENT" ] && echo -n 'selected="selected" ' %>>CLIENT</option>
> > + <option value="BATMAN" <% [ "$ETHMODE" = "BATMAN" ] && echo -n 'selected="selected" ' %>>BATMAN</option>
> > + <option value="CLIENT" <% [ "$ETHMODE" = "CLIENT" ] && echo -n 'selected="selected" ' %>>CLIENT</option>
> > <% if grep -q "ONE_PORT" "/etc/network.$board_name" ; then %>
> > - <option value="WAN" <% [ "$ETHMODE" == "WAN" ] && echo -n 'selected="selected" ' %>>WAN</option>
> > + <option value="WAN" <% [ "$ETHMODE" = "WAN" ] && echo -n 'selected="selected" ' %>>WAN</option>
> > <% fi %>
> > </select>
> > </td>
> @@ -207,16 +207,16 @@ format_port() {
> > <tr>
> > <td>
> > <select name="mode0">
> > - <option value="BATMAN" <% [ "$LAN0MODE" == "BATMAN" ] && echo -n 'selected="selected" ' %>>BATMAN</option>
> > - <option value="CLIENT" <% [ "$LAN0MODE" == "CLIENT" ] && echo -n 'selected="selected" ' %>>CLIENT</option>
> > - <option value="WAN" <% [ "$LAN0MODE" == "WAN" ] && echo -n 'selected="selected" ' %>>WAN</option>
> > + <option value="BATMAN" <% [ "$LAN0MODE" = "BATMAN" ] && echo -n 'selected="selected" ' %>>BATMAN</option>
> > + <option value="CLIENT" <% [ "$LAN0MODE" = "CLIENT" ] && echo -n 'selected="selected" ' %>>CLIENT</option>
> > + <option value="WAN" <% [ "$LAN0MODE" = "WAN" ] && echo -n 'selected="selected" ' %>>WAN</option>
> > </select>
> > </td>
> > <td>
> > <select name="mode1">
> > - <option value="BATMAN" <% [ "$LAN1MODE" == "BATMAN" ] && echo -n 'selected="selected" ' %>>BATMAN</option>
> > - <option value="CLIENT" <% [ "$LAN1MODE" == "CLIENT" ] && echo -n 'selected="selected" ' %>>CLIENT</option>
> > - <option value="WAN" <% [ "$LAN1MODE" == "WAN" ] && echo -n 'selected="selected" ' %>>WAN</option>
> > + <option value="BATMAN" <% [ "$LAN1MODE" = "BATMAN" ] && echo -n 'selected="selected" ' %>>BATMAN</option>
> > + <option value="CLIENT" <% [ "$LAN1MODE" = "CLIENT" ] && echo -n 'selected="selected" ' %>>CLIENT</option>
> > + <option value="WAN" <% [ "$LAN1MODE" = "WAN" ] && echo -n 'selected="selected" ' %>>WAN</option>
> > </select>
> > </td>
> > <td><input type="submit" name="change_twoport" /></td>
> @@ -240,7 +240,7 @@ format_port() {
> <%in /www/ssl/cgi-bin/footer %>
> <%
> # write
> -if [ "$do_reboot" == "1" ] ; then
> +if [ "$do_reboot" -eq 1 ] ; then
> reboot
> fi
> %>
> diff --git a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/reboot.html b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/reboot.html
> index eddc4ff..2efdf3e 100755
> --- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/reboot.html
> +++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/reboot.html
> @@ -2,7 +2,7 @@
>
> <%
> # prepare
> -if [ "$REQUEST_METHOD" == "POST" ] ; then
> +if [ "$REQUEST_METHOD" = "POST" ] ; then
> > if [ "$POST_reboot" != "" ] ; then
> > do_reboot=1
> > MSG='<span class="green">Router wird neugestartet...</span>'
> @@ -29,7 +29,7 @@ fi
> <%in /www/ssl/cgi-bin/footer %>
> <%
> # write
> -if [ "$do_reboot" == "1" ] ; then
> +if [ "$do_reboot" -eq 1 ] ; then
reboot
> fi
> %>
> diff --git a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html
> index cfb3a6b..7dd5eed 100755
> --- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html
> +++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/settings.html
> @@ -2,7 +2,7 @@
>
> <%
> # write
> -if [ "$REQUEST_METHOD" == "POST" ] ; then
> +if [ "$REQUEST_METHOD" = "POST" ] ; then
> > #check for valid hostname as specified in rfc 1123
> > #see http://stackoverflow.com/a/3824105
> > regex='^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])'
> @@ -24,7 +24,7 @@ if [ "$REQUEST_METHOD" == "POST" ] ; then
>
> > # Bitratenbegrenzung
> > uci -q get "fff.trafficcontrol" > /dev/null || uci -q set fff.trafficcontrol=fff
> > - if [ "$POST_traffic_limit" == "on" ] ; then
> > + if [ "$POST_traffic_limit" = "on" ] ; then
> > uci -q set "fff.trafficcontrol.enabled=1"
> > uci -q set "simple-tc.example.enabled=1"
> > else
> @@ -40,7 +40,7 @@ if [ "$REQUEST_METHOD" == "POST" ] ; then
>
> > # Restliche Einstellungen
> > uci -q set "fff.notifyupdate=webui"
> > - if [ "$POST_upgrade_notification" == "on" ] ; then
> > + if [ "$POST_upgrade_notification" = "on" ] ; then
> > uci -q set "fff.notifyupdate.value=1"
> > else
> > uci -q set "fff.notifyupdate.value=0"
> @@ -50,7 +50,7 @@ if [ "$REQUEST_METHOD" == "POST" ] ; then
>
> > if uci -q get system.poe_passthrough > /dev/null ; then
> > uci -q set "fff.poe_passthrough=fff"
> > - if [ "$POST_poe_passthrough" == "on" ] ; then
> > + if [ "$POST_poe_passthrough" = "on" ] ; then
> > uci -q set "fff.poe_passthrough.active=1"
> > uci -q set "system.poe_passthrough.value=1"
> > else
> @@ -70,12 +70,12 @@ fi
> <%
> # read
> chkd='checked="checked" '
> -if [ "$(uci -q get 'fff.trafficcontrol.enabled')" == "1" ] ; then # not set=0
> +if [ "$(uci -q get 'fff.trafficcontrol.enabled')" -eq 1 ] ; then # not set=0
> traffic_checked="$chkd"
> else
> > traffic_checked=""
> fi
> -if [ "$(uci -q get 'fff.notifyupdate.value')" == "0" ] ; then # not set=1
> +if [ "$(uci -q get 'fff.notifyupdate.value')" -eq 0 ] ; then # not set=1
> upgrade_checked=""
> else
> > upgrade_checked="$chkd"
> @@ -122,7 +122,7 @@ fi
>
> > <%
> > if uci -q get system.poe_passthrough > /dev/null ; then
> > - if [ "$(uci -q get 'fff.poe_passthrough.active')" == "1" ] ; then # not set=0
> + if [ "$(uci -q get 'fff.poe_passthrough.active')" -eq 1 ] ; then # not set=0
> poe_pt_checked="$chkd"
> > else
> > poe_pt_checked=""
> diff --git a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/upgrade.html b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/upgrade.html
> index af46023..9762edc 100755
> --- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/upgrade.html
> +++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/upgrade.html
> @@ -2,10 +2,10 @@
>
> <%
> # prepare
> -if [ "$REQUEST_METHOD" == "POST" ] ; then
> +if [ "$REQUEST_METHOD" = "POST" ] ; then
> > if [ "$POST_reset" != "" ] ; then
> > # reset
> > - if [ "$FORM_really_reset" == "on" ] ; then
> > + if [ "$FORM_really_reset" = "on" ] ; then
> > do_reset=1
> > MSG='<span class="green">Router wird zurückgesetzt und anschließend neugestartet...</span>'
> > fi
> @@ -13,12 +13,12 @@ if [ "$REQUEST_METHOD" == "POST" ] ; then
> > # upgrade
> > if [ ! -f "$HASERL_firmware_path" ] ; then
> > MSG='<span class="red">Firmware Datei nicht gefunden!</span>'
> > - elif [ "$(du -k "$HASERL_firmware_path" | cut -f1)" == "0" ] ; then
> > + elif [ "$(du -k "$HASERL_firmware_path" | cut -f1)" -eq 0 ] ; then
> > MSG='<span class="red">Firmware Datei ist leer!</span>'
> > elif ! error=$(sysupgrade -T "$HASERL_firmware_path") ; then
> > MSG="<span class=\"red\">Firmware Datei ungültig: <tt>${error}</tt></span>"
> > else
> > - if [ "$POST_keep_config" == "on" ] ; then
> > + if [ "$POST_keep_config" = "on" ] ; then
> > args=""
> > else
> > args="-n"
> @@ -63,12 +63,12 @@ fi
> <%in /www/ssl/cgi-bin/footer %>
> <%
> # write
> -if [ "$do_reset" == "1" ] ; then
> +if [ "$do_reset" -eq 1 ] ; then
> > echo "<pre>"
> > echo y | firstboot
> > reboot
> > echo "</pre>"
> -elif [ "$do_sysupgrade" == "1" ] ; then
> +elif [ "$do_sysupgrade" -eq 1 ] ; then
> > echo "<pre>"
> > echo "# sysupgrade $args $HASERL_firmware_path"
> > sysupgrade $args $HASERL_firmware_path
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : signature.asc
Dateityp : application/pgp-signature
Dateigröße : 488 bytes
Beschreibung: This is a digitally signed message part
URL : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20180725/f032fb1d/attachment.sig>
Mehr Informationen über die Mailingliste franken-dev