In /usr/bin/wg-quick line 58: Address) ADDRESSES+=( ${value//,/ } ); continue ;; ^-----------^ SC2206: Quote to prevent word splitting/globbing, or split robustly with mapfile or read -a. In /usr/bin/wg-quick line 61: [[ $v =~ (^[0-9.]+$)|(^.*:.*$) ]] && DNS+=( $v ) || DNS_SEARCH+=( $v ) ^-- SC2206: Quote to prevent word splitting/globbing, or split robustly with mapfile or read -a. ^-- SC2206: Quote to prevent word splitting/globbing, or split robustly with mapfile or read -a. In /usr/bin/wg-quick line 104: cmd ip -4 rule delete table $table ^----^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: cmd ip -4 rule delete table "$table" In /usr/bin/wg-quick line 110: cmd ip -6 rule delete table $table ^----^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: cmd ip -6 rule delete table "$table" In /usr/bin/wg-quick line 219: cmd wg set "$INTERFACE" fwmark $table ^----^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: cmd wg set "$INTERFACE" fwmark "$table" In /usr/bin/wg-quick line 223: cmd ip $proto route add "$1" dev "$INTERFACE" table $table ^----^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: cmd ip $proto route add "$1" dev "$INTERFACE" table "$table" In /usr/bin/wg-quick line 224: cmd ip $proto rule add not fwmark $table table $table ^----^ SC2086: Double quote to prevent globbing and word splitting. ^----^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: cmd ip $proto rule add not fwmark "$table" table "$table" In /usr/bin/wg-quick line 237: printf -v restore '%sCOMMIT\n*mangle\n-I POSTROUTING -m mark --mark %d -p udp -j CONNMARK --save-mark %s\n-I PREROUTING -p udp -j CONNMARK --restore-mark %s\nCOMMIT\n' "$restore" $table "$marker" "$marker" ^----^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: printf -v restore '%sCOMMIT\n*mangle\n-I POSTROUTING -m mark --mark %d -p udp -j CONNMARK --save-mark %s\n-I PREROUTING -p udp -j CONNMARK --restore-mark %s\nCOMMIT\n' "$restore" "$table" "$marker" "$marker" In /usr/bin/wg-quick line 238: printf -v nftcmd '%sadd rule %s %s postmangle meta l4proto udp mark %d ct mark set mark \n' "$nftcmd" "$pf" "$nftable" $table ^----^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: printf -v nftcmd '%sadd rule %s %s postmangle meta l4proto udp mark %d ct mark set mark \n' "$nftcmd" "$pf" "$nftable" "$table" In /usr/bin/wg-quick line 338: for i in $(while read -r _ i; do for i in $i; do [[ $i =~ ^[0-9a-z:.]+/[0-9]+$ ]] && echo "$i"; done; done < <(wg show "$INTERFACE" allowed-ips) | sort -nr -k 2 -t /); do ^-^ SC2167: This parent loop has its index variable overridden. ^-- SC2030: Modification of i is local (to subshell caused by pipeline). ^-^ SC2165: This nested loop overrides the index variable of its parent. In /usr/bin/wg-quick line 339: add_route "$i" ^-- SC2031: i was modified in a subshell. That change might be lost. For more information: https://www.shellcheck.net/wiki/SC2165 -- This nested loop overrides the in... https://www.shellcheck.net/wiki/SC2167 -- This parent loop has its index va... https://www.shellcheck.net/wiki/SC2206 -- Quote to prevent word splitting/g...