ShellCheck - shell script analysis tool version: 0.10.0 license: GNU General Public License, version 3 website: https://www.shellcheck.net Redirect to /tmp/tmp.IQnSLkGW7Q and /tmp/tmp.GNS85YVW2f Tree base: 33caa208dba6 ("hv_netvsc: Fix panic during namespace deletion with VF") Now at: 598a4e9b6467 ("bonding: don't set oif to bond dev when getting NS target destination") ====== Checking before the patch ====== Checking tools/testing/selftests/drivers/net/bonding/bond_options.sh - a2aad1a497cd329a287f487540b45b15252cada1d2375a85aa066f4c89a249c7 In bond_options.sh line 6: ALL_TESTS=" ^-------^ SC2034 (warning): ALL_TESTS appears unused. Verify use (or export if used externally). In bond_options.sh line 13: source ${lib_dir}/bond_topo_3d1c.sh ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: source "${lib_dir}"/bond_topo_3d1c.sh In bond_options.sh line 22: ip -n ${s_ns} link set eth0 type bond_slave prio 10 ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set eth0 type bond_slave prio 10 In bond_options.sh line 23: [[ $? -ne 0 ]] && skip=0 ^-- SC2181 (style): Check exit code directly with e.g. 'if ! mycmd;', not indirectly with $?. In bond_options.sh line 26: ip -n ${s_ns} -d link show eth0 | grep -q "prio 10" ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" -d link show eth0 | grep -q "prio 10" In bond_options.sh line 27: [[ $? -ne 0 ]] && skip=0 ^-- SC2181 (style): Check exit code directly with e.g. 'if ! mycmd;', not indirectly with $?. In bond_options.sh line 29: return $skip ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: return "$skip" In bond_options.sh line 37: ip -n ${s_ns} link add bond1 type bond ns_ip6_target ${g_ip6} ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link add bond1 type bond ns_ip6_target "${g_ip6}" In bond_options.sh line 38: [[ $? -ne 0 ]] && skip=0 ^-- SC2181 (style): Check exit code directly with e.g. 'if ! mycmd;', not indirectly with $?. In bond_options.sh line 41: ip -n ${s_ns} -d link show bond1 | grep -q "ns_ip6_target ${g_ip6}" ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" -d link show bond1 | grep -q "ns_ip6_target ${g_ip6}" In bond_options.sh line 42: [[ $? -ne 0 ]] && skip=0 ^-- SC2181 (style): Check exit code directly with e.g. 'if ! mycmd;', not indirectly with $?. In bond_options.sh line 44: ip -n ${s_ns} link del bond1 ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link del bond1 In bond_options.sh line 46: return $skip ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: return "$skip" In bond_options.sh line 53: local new_active_slave=$(cmd_jq "ip -n ${s_ns} -d -j link show bond0" \ ^--------------^ SC2155 (warning): Declare and assign separately to avoid masking return values. In bond_options.sh line 55: [ "$new_active_slave" != "$old_active_slave" -a "$new_active_slave" != "null" ] ^-- SC2166 (warning): Prefer [ p ] && [ q ] as [ p -a q ] is not well defined. In bond_options.sh line 61: slowwait 5 active_slave_changed $active_slave ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: slowwait 5 active_slave_changed "$active_slave" In bond_options.sh line 76: ip -n ${s_ns} link set bond0 type bond active_slave eth1 ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set bond0 type bond active_slave eth1 In bond_options.sh line 79: ip -n ${s_ns} link set eth0 type bond_slave prio 0 ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set eth0 type bond_slave prio 0 In bond_options.sh line 80: ip -n ${s_ns} link set eth1 type bond_slave prio 10 ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set eth1 type bond_slave prio 10 In bond_options.sh line 81: ip -n ${s_ns} link set eth2 type bond_slave prio 11 ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set eth2 type bond_slave prio 11 In bond_options.sh line 98: ip -n ${s_ns} link set $active_slave down ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set "$active_slave" down In bond_options.sh line 103: ip -n ${s_ns} link set $active_slave down ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set "$active_slave" down In bond_options.sh line 108: ip -n ${s_ns} link set eth2 up ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set eth2 up In bond_options.sh line 124: ip -n ${s_ns} link set eth1 up ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set eth1 up In bond_options.sh line 135: ip -n ${s_ns} link set $active_slave down ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set "$active_slave" down In bond_options.sh line 143: ip -n ${s_ns} link set eth0 type bond_slave prio 1000000 ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set eth0 type bond_slave prio 1000000 In bond_options.sh line 144: ip -n ${s_ns} link set eth1 type bond_slave prio 0 ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set eth1 type bond_slave prio 0 In bond_options.sh line 145: ip -n ${s_ns} link set eth2 type bond_slave prio -50 ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set eth2 type bond_slave prio -50 In bond_options.sh line 146: ip -n ${s_ns} -d link show eth0 | grep -q 'prio 1000000' ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" -d link show eth0 | grep -q 'prio 1000000' In bond_options.sh line 148: ip -n ${s_ns} -d link show eth1 | grep -q 'prio 0' ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" -d link show eth1 | grep -q 'prio 0' In bond_options.sh line 150: ip -n ${s_ns} -d link show eth2 | grep -q 'prio -50' ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" -d link show eth2 | grep -q 'prio -50' In bond_options.sh line 154: ip -n ${s_ns} link set $active_slave down ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set "$active_slave" down In bond_options.sh line 208: prio_miimon $mode ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: prio_miimon "$mode" In bond_options.sh line 218: [ ${mii_status} != "UP" ] && return 1 ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "${mii_status}" != "UP" ] && return 1 In bond_options.sh line 232: [ $RET -ne 0 ] && log_test "arp_validate" "$retmsg" ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-----^ SC2154 (warning): retmsg is referenced but not assigned. Did you mean: [ "$RET" -ne 0 ] && log_test "arp_validate" "$retmsg" In bond_options.sh line 238: if [ ${mii_status} != "UP" ]; then ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: if [ "${mii_status}" != "UP" ]; then In bond_options.sh line 249: local arp_valid=$(cmd_jq "ip -n ${s_ns} -j -d link show bond0" ".[].linkinfo.info_data.arp_validate") ^-------^ SC2155 (warning): Declare and assign separately to avoid masking return values. In bond_options.sh line 250: local active_slave=$(cmd_jq "ip -n ${s_ns} -d -j link show bond0" ".[].linkinfo.info_data.active_slave") ^----------^ SC2155 (warning): Declare and assign separately to avoid masking return values. In bond_options.sh line 253: maddr_list=$(ip -n ${s_ns} maddr show dev eth${i}) ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: maddr_list=$(ip -n "${s_ns}" maddr show dev eth"${i}") In bond_options.sh line 256: if { [ "$arp_valid" == "null" ] || [ "eth${i}" == ${active_slave} ]; } && \ ^-------------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: if { [ "$arp_valid" == "null" ] || [ "eth${i}" == "${active_slave}" ]; } && \ In bond_options.sh line 261: elif [ "$arp_valid" != "null" ] && [ "eth${i}" != ${active_slave} ] && \ ^-------------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: elif [ "$arp_valid" != "null" ] && [ "eth${i}" != "${active_slave}" ] && \ In bond_options.sh line 263: ! echo "$maddr_list" | grep -q "${m_maddr}"); then ^--------^ SC2154 (warning): m_maddr is referenced but not assigned (did you mean 'c_maddr'?). In bond_options.sh line 270: ip -n ${s_ns} link set ${active_slave} down ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-------------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set "${active_slave}" down In bond_options.sh line 272: slowwait 2 active_slave_changed $active_slave ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: slowwait 2 active_slave_changed "$active_slave" In bond_options.sh line 276: maddr_list=$(ip -n ${s_ns} maddr show dev eth${i}) ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: maddr_list=$(ip -n "${s_ns}" maddr show dev eth"${i}") In bond_options.sh line 279: if { [ "$arp_valid" == "null" ] || [ "eth${i}" == ${active_slave} ]; } && \ ^-------------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: if { [ "$arp_valid" == "null" ] || [ "eth${i}" == "${active_slave}" ]; } && \ In bond_options.sh line 284: elif [ "$arp_valid" != "null" ] && [ "eth${i}" != ${active_slave} ] && \ ^-------------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: elif [ "$arp_valid" != "null" ] && [ "eth${i}" != "${active_slave}" ] && \ In bond_options.sh line 337: [ $RET -ne 0 ] && log_test "num_grat_arp" "$retmsg" ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$RET" -ne 0 ] && log_test "num_grat_arp" "$retmsg" In bond_options.sh line 342: tc -n ${g_ns} filter add dev s$i ingress protocol arp pref 1 handle 101 \ ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: tc -n "${g_ns}" filter add dev s"$i" ingress protocol arp pref 1 handle 101 \ In bond_options.sh line 343: flower skip_hw arp_op request arp_sip ${s_ip4} arp_tip ${s_ip4} action pass ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: flower skip_hw arp_op request arp_sip "${s_ip4}" arp_tip "${s_ip4}" action pass In bond_options.sh line 348: ip -n ${s_ns} link set ${active_slave} down ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-------------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set "${active_slave}" down In bond_options.sh line 351: slowwait 2 active_slave_changed $active_slave ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: slowwait 2 active_slave_changed "$active_slave" In bond_options.sh line 355: slowwait_for_counter $((exp_num + 5)) $exp_num \ ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: slowwait_for_counter $((exp_num + 5)) "$exp_num" \ In bond_options.sh line 366: tc -n ${g_ns} filter del dev s$i ingress ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: tc -n "${g_ns}" filter del dev s"$i" ingress In bond_options.sh line 385: exit $EXIT_STATUS ^----------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: exit "$EXIT_STATUS" For more information: https://www.shellcheck.net/wiki/SC2034 -- ALL_TESTS appears unused. Verify ... https://www.shellcheck.net/wiki/SC2154 -- m_maddr is referenced but not ass... https://www.shellcheck.net/wiki/SC2155 -- Declare and assign separately to ... ====== Checking the tree with the patch ====== Checking tools/testing/selftests/drivers/net/bonding/bond_options.sh - a2aad1a497cd329a287f487540b45b15252cada1d2375a85aa066f4c89a249c7 In bond_options.sh line 6: ALL_TESTS=" ^-------^ SC2034 (warning): ALL_TESTS appears unused. Verify use (or export if used externally). In bond_options.sh line 14: source ${lib_dir}/bond_topo_3d1c.sh ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: source "${lib_dir}"/bond_topo_3d1c.sh In bond_options.sh line 23: ip -n ${s_ns} link set eth0 type bond_slave prio 10 ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set eth0 type bond_slave prio 10 In bond_options.sh line 24: [[ $? -ne 0 ]] && skip=0 ^-- SC2181 (style): Check exit code directly with e.g. 'if ! mycmd;', not indirectly with $?. In bond_options.sh line 27: ip -n ${s_ns} -d link show eth0 | grep -q "prio 10" ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" -d link show eth0 | grep -q "prio 10" In bond_options.sh line 28: [[ $? -ne 0 ]] && skip=0 ^-- SC2181 (style): Check exit code directly with e.g. 'if ! mycmd;', not indirectly with $?. In bond_options.sh line 30: return $skip ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: return "$skip" In bond_options.sh line 38: ip -n ${s_ns} link add bond1 type bond ns_ip6_target ${g_ip6} ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link add bond1 type bond ns_ip6_target "${g_ip6}" In bond_options.sh line 39: [[ $? -ne 0 ]] && skip=0 ^-- SC2181 (style): Check exit code directly with e.g. 'if ! mycmd;', not indirectly with $?. In bond_options.sh line 42: ip -n ${s_ns} -d link show bond1 | grep -q "ns_ip6_target ${g_ip6}" ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" -d link show bond1 | grep -q "ns_ip6_target ${g_ip6}" In bond_options.sh line 43: [[ $? -ne 0 ]] && skip=0 ^-- SC2181 (style): Check exit code directly with e.g. 'if ! mycmd;', not indirectly with $?. In bond_options.sh line 45: ip -n ${s_ns} link del bond1 ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link del bond1 In bond_options.sh line 47: return $skip ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: return "$skip" In bond_options.sh line 54: local new_active_slave=$(cmd_jq "ip -n ${s_ns} -d -j link show bond0" \ ^--------------^ SC2155 (warning): Declare and assign separately to avoid masking return values. In bond_options.sh line 56: [ "$new_active_slave" != "$old_active_slave" -a "$new_active_slave" != "null" ] ^-- SC2166 (warning): Prefer [ p ] && [ q ] as [ p -a q ] is not well defined. In bond_options.sh line 62: slowwait 5 active_slave_changed $active_slave ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: slowwait 5 active_slave_changed "$active_slave" In bond_options.sh line 77: ip -n ${s_ns} link set bond0 type bond active_slave eth1 ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set bond0 type bond active_slave eth1 In bond_options.sh line 80: ip -n ${s_ns} link set eth0 type bond_slave prio 0 ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set eth0 type bond_slave prio 0 In bond_options.sh line 81: ip -n ${s_ns} link set eth1 type bond_slave prio 10 ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set eth1 type bond_slave prio 10 In bond_options.sh line 82: ip -n ${s_ns} link set eth2 type bond_slave prio 11 ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set eth2 type bond_slave prio 11 In bond_options.sh line 99: ip -n ${s_ns} link set $active_slave down ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set "$active_slave" down In bond_options.sh line 104: ip -n ${s_ns} link set $active_slave down ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set "$active_slave" down In bond_options.sh line 109: ip -n ${s_ns} link set eth2 up ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set eth2 up In bond_options.sh line 125: ip -n ${s_ns} link set eth1 up ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set eth1 up In bond_options.sh line 136: ip -n ${s_ns} link set $active_slave down ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set "$active_slave" down In bond_options.sh line 144: ip -n ${s_ns} link set eth0 type bond_slave prio 1000000 ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set eth0 type bond_slave prio 1000000 In bond_options.sh line 145: ip -n ${s_ns} link set eth1 type bond_slave prio 0 ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set eth1 type bond_slave prio 0 In bond_options.sh line 146: ip -n ${s_ns} link set eth2 type bond_slave prio -50 ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set eth2 type bond_slave prio -50 In bond_options.sh line 147: ip -n ${s_ns} -d link show eth0 | grep -q 'prio 1000000' ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" -d link show eth0 | grep -q 'prio 1000000' In bond_options.sh line 149: ip -n ${s_ns} -d link show eth1 | grep -q 'prio 0' ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" -d link show eth1 | grep -q 'prio 0' In bond_options.sh line 151: ip -n ${s_ns} -d link show eth2 | grep -q 'prio -50' ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" -d link show eth2 | grep -q 'prio -50' In bond_options.sh line 155: ip -n ${s_ns} link set $active_slave down ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set "$active_slave" down In bond_options.sh line 209: prio_miimon $mode ^---^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: prio_miimon "$mode" In bond_options.sh line 219: [ ${mii_status} != "UP" ] && return 1 ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "${mii_status}" != "UP" ] && return 1 In bond_options.sh line 233: [ $RET -ne 0 ] && log_test "arp_validate" "$retmsg" ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-----^ SC2154 (warning): retmsg is referenced but not assigned. Did you mean: [ "$RET" -ne 0 ] && log_test "arp_validate" "$retmsg" In bond_options.sh line 239: if [ ${mii_status} != "UP" ]; then ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: if [ "${mii_status}" != "UP" ]; then In bond_options.sh line 250: local arp_valid=$(cmd_jq "ip -n ${s_ns} -j -d link show bond0" ".[].linkinfo.info_data.arp_validate") ^-------^ SC2155 (warning): Declare and assign separately to avoid masking return values. In bond_options.sh line 251: local active_slave=$(cmd_jq "ip -n ${s_ns} -d -j link show bond0" ".[].linkinfo.info_data.active_slave") ^----------^ SC2155 (warning): Declare and assign separately to avoid masking return values. In bond_options.sh line 254: maddr_list=$(ip -n ${s_ns} maddr show dev eth${i}) ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: maddr_list=$(ip -n "${s_ns}" maddr show dev eth"${i}") In bond_options.sh line 257: if { [ "$arp_valid" == "null" ] || [ "eth${i}" == ${active_slave} ]; } && \ ^-------------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: if { [ "$arp_valid" == "null" ] || [ "eth${i}" == "${active_slave}" ]; } && \ In bond_options.sh line 262: elif [ "$arp_valid" != "null" ] && [ "eth${i}" != ${active_slave} ] && \ ^-------------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: elif [ "$arp_valid" != "null" ] && [ "eth${i}" != "${active_slave}" ] && \ In bond_options.sh line 264: ! echo "$maddr_list" | grep -q "${m_maddr}"); then ^--------^ SC2154 (warning): m_maddr is referenced but not assigned (did you mean 'c_maddr'?). In bond_options.sh line 271: ip -n ${s_ns} link set ${active_slave} down ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-------------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set "${active_slave}" down In bond_options.sh line 273: slowwait 2 active_slave_changed $active_slave ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: slowwait 2 active_slave_changed "$active_slave" In bond_options.sh line 277: maddr_list=$(ip -n ${s_ns} maddr show dev eth${i}) ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: maddr_list=$(ip -n "${s_ns}" maddr show dev eth"${i}") In bond_options.sh line 280: if { [ "$arp_valid" == "null" ] || [ "eth${i}" == ${active_slave} ]; } && \ ^-------------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: if { [ "$arp_valid" == "null" ] || [ "eth${i}" == "${active_slave}" ]; } && \ In bond_options.sh line 285: elif [ "$arp_valid" != "null" ] && [ "eth${i}" != ${active_slave} ] && \ ^-------------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: elif [ "$arp_valid" != "null" ] && [ "eth${i}" != "${active_slave}" ] && \ In bond_options.sh line 338: [ $RET -ne 0 ] && log_test "num_grat_arp" "$retmsg" ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$RET" -ne 0 ] && log_test "num_grat_arp" "$retmsg" In bond_options.sh line 343: tc -n ${g_ns} filter add dev s$i ingress protocol arp pref 1 handle 101 \ ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: tc -n "${g_ns}" filter add dev s"$i" ingress protocol arp pref 1 handle 101 \ In bond_options.sh line 344: flower skip_hw arp_op request arp_sip ${s_ip4} arp_tip ${s_ip4} action pass ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: flower skip_hw arp_op request arp_sip "${s_ip4}" arp_tip "${s_ip4}" action pass In bond_options.sh line 349: ip -n ${s_ns} link set ${active_slave} down ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-------------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: ip -n "${s_ns}" link set "${active_slave}" down In bond_options.sh line 352: slowwait 2 active_slave_changed $active_slave ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: slowwait 2 active_slave_changed "$active_slave" In bond_options.sh line 356: slowwait_for_counter $((exp_num + 5)) $exp_num \ ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: slowwait_for_counter $((exp_num + 5)) "$exp_num" \ In bond_options.sh line 367: tc -n ${g_ns} filter del dev s$i ingress ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: tc -n "${g_ns}" filter del dev s"$i" ingress In bond_options.sh line 444: exit $EXIT_STATUS ^----------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: exit "$EXIT_STATUS" For more information: https://www.shellcheck.net/wiki/SC2034 -- ALL_TESTS appears unused. Verify ... https://www.shellcheck.net/wiki/SC2154 -- m_maddr is referenced but not ass... https://www.shellcheck.net/wiki/SC2155 -- Declare and assign separately to ...