ShellCheck - shell script analysis tool version: 0.11.0 license: GNU General Public License, version 3 website: https://www.shellcheck.net Redirect to /tmp/tmp.ECzPKmdkdS and /tmp/tmp.fwQgH6tYUB Tree base: 7af4a512782f ("netfilter: nft_set_pipapo_avx2: don't return non-matching entry on expiry") Now at: ab350ca2cec8 ("selftests: netfilter: nft_concat_range.sh: add check for flush+reload bug") ====== Checking before the patch ====== Checking tools/testing/selftests/net/netfilter/nft_concat_range.sh - 9af70c1607bb45389b2152f3d374bb2b870aa13f5390f3ff007123fa4497b76a In nft_concat_range.sh line 535: B() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 560: send_icmp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 568: send_icmp6() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 574: send_icmp6() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 585: send_udp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 599: send_udp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 617: send_udp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 639: send_udp6() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 659: send_udp6() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 678: send_udp6() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 699: flood_tcp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 728: flood_tcp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 757: flood_tcp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 793: flood_tcp6() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 822: flood_tcp6() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 851: flood_tcp6() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 887: flood_udp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 916: flood_udp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 945: flood_udp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 985: perf_ipv4() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 992: perf_ipv6() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 1401: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1408: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1424: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1431: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1437: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1445: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1452: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1460: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1466: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1473: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1479: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1488: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1496: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1505: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1515: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1844: elem=$(printf "10.%d.%d.0/24 . %d-%d0 . 6-17 " ${i} ${j} ${dport} "$((dport+1))") ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: elem=$(printf "10.%d.%d.0/24 . %d-%d0 . 6-17 " "${i}" "${j}" "${dport}" "$((dport+1))") In nft_concat_range.sh line 1847: maybe_send_nomatch "$elem" $(printf "10.%d.%d.1" $i $j) $(printf "%d1" $((dport+1))) "before add" || return 1 ^--------------------------^ SC2046 (warning): Quote this to prevent word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^--------------------------^ SC2046 (warning): Quote this to prevent word splitting. Did you mean: maybe_send_nomatch "$elem" $(printf "10.%d.%d.1" "$i" "$j") $(printf "%d1" $((dport+1))) "before add" || return 1 In nft_concat_range.sh line 1851: maybe_send_match "$elem" $(printf "10.%d.%d.1" $i $j) $(printf "%d" $dport) "after add" || return 1 ^--------------------------^ SC2046 (warning): Quote this to prevent word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-------------------^ SC2046 (warning): Quote this to prevent word splitting. ^----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: maybe_send_match "$elem" $(printf "10.%d.%d.1" "$i" "$j") $(printf "%d" "$dport") "after add" || return 1 In nft_concat_range.sh line 1854: if [ $? -ne 0 ];then ^-- SC2181 (style): Check exit code directly with e.g. 'if ! mycmd;', not indirectly with $?. In nft_concat_range.sh line 1855: local got=$(nft "get element inet filter test { $elem }") ^-^ SC2155 (warning): Declare and assign separately to avoid masking return values. In nft_concat_range.sh line 1860: maybe_send_nomatch "$elem" $(printf "10.%d.%d.1" $i $j) $(printf "%d1" $((dport+1))) "out-of-range" || return 1 ^--------------------------^ SC2046 (warning): Quote this to prevent word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^--------------------------^ SC2046 (warning): Quote this to prevent word splitting. Did you mean: maybe_send_nomatch "$elem" $(printf "10.%d.%d.1" "$i" "$j") $(printf "%d1" $((dport+1))) "out-of-range" || return 1 In nft_concat_range.sh line 1869: elem=$(printf "10.%d.%d.0/24 . %d-%d0 . 6-17 " ${i} ${j} ${dport} "$((dport+1))") ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: elem=$(printf "10.%d.%d.0/24 . %d-%d0 . 6-17 " "${i}" "${j}" "${dport}" "$((dport+1))") In nft_concat_range.sh line 1872: if [ $? -ne 0 ];then ^-- SC2181 (style): Check exit code directly with e.g. 'if ! mycmd;', not indirectly with $?. In nft_concat_range.sh line 1873: local got=$(nft "get element inet filter test { $elem }") ^-^ SC2155 (warning): Declare and assign separately to avoid masking return values. In nft_concat_range.sh line 1878: maybe_send_match "$elem" $(printf "10.%d.%d.1" $i $j) $(printf "%d" $dport) "recheck" || return 1 ^--------------------------^ SC2046 (warning): Quote this to prevent word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-------------------^ SC2046 (warning): Quote this to prevent word splitting. ^----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: maybe_send_match "$elem" $(printf "10.%d.%d.1" "$i" "$j") $(printf "%d" "$dport") "recheck" || return 1 In nft_concat_range.sh line 1879: maybe_send_nomatch "$elem" $(printf "10.%d.%d.1" $i $j) $(printf "%d1" $((dport+1))) "recheck out-of-range" || return 1 ^--------------------------^ SC2046 (warning): Quote this to prevent word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^--------------------------^ SC2046 (warning): Quote this to prevent word splitting. Did you mean: maybe_send_nomatch "$elem" $(printf "10.%d.%d.1" "$i" "$j") $(printf "%d1" $((dport+1))) "recheck out-of-range" || return 1 In nft_concat_range.sh line 1890: elem=$(printf "10.%d.%d.0/24 . %d-%d0 . 6-17 " ${i} ${j} ${dport} "$((dport+1))") ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: elem=$(printf "10.%d.%d.0/24 . %d-%d0 . 6-17 " "${i}" "${j}" "${dport}" "$((dport+1))") In nft_concat_range.sh line 1897: if [ $? -eq 0 ];then ^-- SC2181 (style): Check exit code directly with e.g. 'if mycmd;', not indirectly with $?. In nft_concat_range.sh line 1902: maybe_send_nomatch "$elem" $(printf "10.%d.%d.1" $i $j) $(printf "%d" $dport) "match after deletion" || return 1 ^--------------------------^ SC2046 (warning): Quote this to prevent word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-------------------^ SC2046 (warning): Quote this to prevent word splitting. ^----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: maybe_send_nomatch "$elem" $(printf "10.%d.%d.1" "$i" "$j") $(printf "%d" "$dport") "match after deletion" || return 1 In nft_concat_range.sh line 2047: printf "%5ds%-30s" $((tnow-tthen)) ^---------^ SC2183 (warning): This format string has 2 variables, but is passed 1 argument. For more information: https://www.shellcheck.net/wiki/SC2046 -- Quote this to prevent word splitt... https://www.shellcheck.net/wiki/SC2155 -- Declare and assign separately to ... https://www.shellcheck.net/wiki/SC2183 -- This format string has 2 variable... ====== Checking the tree with the patch ====== Checking tools/testing/selftests/net/netfilter/nft_concat_range.sh - 9af70c1607bb45389b2152f3d374bb2b870aa13f5390f3ff007123fa4497b76a In nft_concat_range.sh line 560: B() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 585: send_icmp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 593: send_icmp6() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 599: send_icmp6() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 610: send_udp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 624: send_udp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 642: send_udp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 664: send_udp6() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 684: send_udp6() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 703: send_udp6() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 724: flood_tcp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 753: flood_tcp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 782: flood_tcp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 818: flood_tcp6() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 847: flood_tcp6() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 876: flood_tcp6() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 912: flood_udp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 941: flood_udp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 970: flood_udp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 1010: perf_ipv4() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 1017: perf_ipv6() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 1426: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1433: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1449: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1456: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1462: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1470: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1477: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1485: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1491: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1498: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1504: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1513: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1521: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1530: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1540: [ $i -gt 1 ] && echo ", " ^-- SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: [ "$i" -gt 1 ] && echo ", " In nft_concat_range.sh line 1869: elem=$(printf "10.%d.%d.0/24 . %d-%d0 . 6-17 " ${i} ${j} ${dport} "$((dport+1))") ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: elem=$(printf "10.%d.%d.0/24 . %d-%d0 . 6-17 " "${i}" "${j}" "${dport}" "$((dport+1))") In nft_concat_range.sh line 1872: maybe_send_nomatch "$elem" $(printf "10.%d.%d.1" $i $j) $(printf "%d1" $((dport+1))) "before add" || return 1 ^--------------------------^ SC2046 (warning): Quote this to prevent word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^--------------------------^ SC2046 (warning): Quote this to prevent word splitting. Did you mean: maybe_send_nomatch "$elem" $(printf "10.%d.%d.1" "$i" "$j") $(printf "%d1" $((dport+1))) "before add" || return 1 In nft_concat_range.sh line 1876: maybe_send_match "$elem" $(printf "10.%d.%d.1" $i $j) $(printf "%d" $dport) "after add" || return 1 ^--------------------------^ SC2046 (warning): Quote this to prevent word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-------------------^ SC2046 (warning): Quote this to prevent word splitting. ^----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: maybe_send_match "$elem" $(printf "10.%d.%d.1" "$i" "$j") $(printf "%d" "$dport") "after add" || return 1 In nft_concat_range.sh line 1879: if [ $? -ne 0 ];then ^-- SC2181 (style): Check exit code directly with e.g. 'if ! mycmd;', not indirectly with $?. In nft_concat_range.sh line 1880: local got=$(nft "get element inet filter test { $elem }") ^-^ SC2155 (warning): Declare and assign separately to avoid masking return values. In nft_concat_range.sh line 1885: maybe_send_nomatch "$elem" $(printf "10.%d.%d.1" $i $j) $(printf "%d1" $((dport+1))) "out-of-range" || return 1 ^--------------------------^ SC2046 (warning): Quote this to prevent word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^--------------------------^ SC2046 (warning): Quote this to prevent word splitting. Did you mean: maybe_send_nomatch "$elem" $(printf "10.%d.%d.1" "$i" "$j") $(printf "%d1" $((dport+1))) "out-of-range" || return 1 In nft_concat_range.sh line 1894: elem=$(printf "10.%d.%d.0/24 . %d-%d0 . 6-17 " ${i} ${j} ${dport} "$((dport+1))") ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: elem=$(printf "10.%d.%d.0/24 . %d-%d0 . 6-17 " "${i}" "${j}" "${dport}" "$((dport+1))") In nft_concat_range.sh line 1897: if [ $? -ne 0 ];then ^-- SC2181 (style): Check exit code directly with e.g. 'if ! mycmd;', not indirectly with $?. In nft_concat_range.sh line 1898: local got=$(nft "get element inet filter test { $elem }") ^-^ SC2155 (warning): Declare and assign separately to avoid masking return values. In nft_concat_range.sh line 1903: maybe_send_match "$elem" $(printf "10.%d.%d.1" $i $j) $(printf "%d" $dport) "recheck" || return 1 ^--------------------------^ SC2046 (warning): Quote this to prevent word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-------------------^ SC2046 (warning): Quote this to prevent word splitting. ^----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: maybe_send_match "$elem" $(printf "10.%d.%d.1" "$i" "$j") $(printf "%d" "$dport") "recheck" || return 1 In nft_concat_range.sh line 1904: maybe_send_nomatch "$elem" $(printf "10.%d.%d.1" $i $j) $(printf "%d1" $((dport+1))) "recheck out-of-range" || return 1 ^--------------------------^ SC2046 (warning): Quote this to prevent word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^--------------------------^ SC2046 (warning): Quote this to prevent word splitting. Did you mean: maybe_send_nomatch "$elem" $(printf "10.%d.%d.1" "$i" "$j") $(printf "%d1" $((dport+1))) "recheck out-of-range" || return 1 In nft_concat_range.sh line 1915: elem=$(printf "10.%d.%d.0/24 . %d-%d0 . 6-17 " ${i} ${j} ${dport} "$((dport+1))") ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. ^--^ SC2086 (info): Double quote to prevent globbing and word splitting. ^------^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: elem=$(printf "10.%d.%d.0/24 . %d-%d0 . 6-17 " "${i}" "${j}" "${dport}" "$((dport+1))") In nft_concat_range.sh line 1922: if [ $? -eq 0 ];then ^-- SC2181 (style): Check exit code directly with e.g. 'if mycmd;', not indirectly with $?. In nft_concat_range.sh line 1927: maybe_send_nomatch "$elem" $(printf "10.%d.%d.1" $i $j) $(printf "%d" $dport) "match after deletion" || return 1 ^--------------------------^ SC2046 (warning): Quote this to prevent word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-- SC2086 (info): Double quote to prevent globbing and word splitting. ^-------------------^ SC2046 (warning): Quote this to prevent word splitting. ^----^ SC2086 (info): Double quote to prevent globbing and word splitting. Did you mean: maybe_send_nomatch "$elem" $(printf "10.%d.%d.1" "$i" "$j") $(printf "%d" "$dport") "match after deletion" || return 1 In nft_concat_range.sh line 2044: [ $? -eq 0 ] || return 1 ^-- SC2181 (style): Check exit code directly with e.g. 'if mycmd;', not indirectly with $?. In nft_concat_range.sh line 2063: [ $? -eq 0 ] || return 1 ^-- SC2181 (style): Check exit code directly with e.g. 'if mycmd;', not indirectly with $?. In nft_concat_range.sh line 2115: printf "%5ds%-30s" $((tnow-tthen)) ^---------^ SC2183 (warning): This format string has 2 variables, but is passed 1 argument. For more information: https://www.shellcheck.net/wiki/SC2046 -- Quote this to prevent word splitt... https://www.shellcheck.net/wiki/SC2155 -- Declare and assign separately to ... https://www.shellcheck.net/wiki/SC2183 -- This format string has 2 variable...