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.tF8QVUtm17 and /tmp/tmp.xRxuCmed1X Tree base: bb77ff86ea7e ("netfilter: nft_set_pipapo: fix range overlap detection") Now at: a7c6180c91e6 ("selftests: netfilter: nft_concat_range.sh: add check for overlap detection bug") ====== Checking before the patch ====== Checking tools/testing/selftests/net/netfilter/nft_concat_range.sh - 9af70c1607bb45389b2152f3d374bb2b870aa13f5390f3ff007123fa4497b76a In nft_concat_range.sh line 523: B() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 548: send_icmp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 556: send_icmp6() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 562: send_icmp6() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 573: send_udp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 587: send_udp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 605: send_udp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 627: send_udp6() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 647: send_udp6() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 666: send_udp6() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 687: flood_tcp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 716: flood_tcp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 745: flood_tcp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 781: flood_tcp6() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 810: flood_tcp6() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 839: flood_tcp6() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 875: flood_udp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 904: flood_udp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 933: flood_udp() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 973: perf_ipv4() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 980: perf_ipv6() { ^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly). In nft_concat_range.sh line 1389: [ $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 1396: [ $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 1412: [ $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 1419: [ $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 1425: [ $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 1440: [ $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 1448: [ $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 1454: [ $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 1461: [ $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 1467: [ $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 1476: [ $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 1484: [ $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 1493: [ $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 1503: [ $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 1832: 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 1835: 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 1839: 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 1842: if [ $? -ne 0 ];then ^-- SC2181 (style): Check exit code directly with e.g. 'if ! mycmd;', not indirectly with $?. In nft_concat_range.sh line 1843: 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 1848: 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 1857: 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 1860: if [ $? -ne 0 ];then ^-- SC2181 (style): Check exit code directly with e.g. 'if ! mycmd;', not indirectly with $?. In nft_concat_range.sh line 1861: 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 1866: 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 1867: 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 1878: 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 1885: if [ $? -eq 0 ];then ^-- SC2181 (style): Check exit code directly with e.g. 'if mycmd;', not indirectly with $?. In nft_concat_range.sh line 1890: 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 2004: 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 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...