In /usr/bin/pa-info line 27: [[ $line =~ $re ]] && cards+="${BASH_REMATCH[1]} " ^---^ SC2179: Use array+=("item") to append items to an array. In /usr/bin/pa-info line 29: echo $cards ^----^ SC2128: Expanding an array without an index only gives the first element. ^----^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: echo "$cards" In /usr/bin/pa-info line 32: local cards=($(cards_get)) ^----------^ SC2207: Prefer mapfile or read -a to split command output (or quote to avoid splitting). In /usr/bin/pa-info line 36: [[ $line != "" ]] && amixer -c$card cget "$line"; ^---^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: [[ $line != "" ]] && amixer -c"$card" cget "$line"; In /usr/bin/pa-info line 37: done <<< "$(amixer -c$card controls | grep Jack)" ^---^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: done <<< "$(amixer -c"$card" controls | grep Jack)" In /usr/bin/pa-info line 42: [ $alsa_info ] || alsa_info=$(which alsa-info) ^--------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: [ "$alsa_info" ] || alsa_info=$(which alsa-info) In /usr/bin/pa-info line 43: [ $alsa_info ] || alsa_info='/usr/share/alsa-base/alsa-info.sh' ^--------^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: [ "$alsa_info" ] || alsa_info='/usr/share/alsa-base/alsa-info.sh' In /usr/bin/pa-info line 51: ps aux | grep pulseaudio ^-- SC2009: Consider using pgrep instead of grepping ps output. For more information: https://www.shellcheck.net/wiki/SC2128 -- Expanding an array without an ind... https://www.shellcheck.net/wiki/SC2179 -- Use array+=("item") to append ite... https://www.shellcheck.net/wiki/SC2207 -- Prefer mapfile or read -a to spli...