Skip to content

Instantly share code, notes, and snippets.

@zopieux
Last active August 29, 2015 14:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zopieux/80e810f99b3fbd7160c7 to your computer and use it in GitHub Desktop.
Save zopieux/80e810f99b3fbd7160c7 to your computer and use it in GitHub Desktop.
pacaur shellcheck analysis
In - line 15:
TEXTDOMAIN='pacaur'
^-- SC2034: TEXTDOMAIN appears unused. Verify it or export it.
In - line 16:
TEXTDOMAINDIR='/usr/share/locale'
^-- SC2034: TEXTDOMAINDIR appears unused. Verify it or export it.
In - line 39:
xdg_config=($(awk -F ":" '{for (i=1; i<=NF; i++) print $i}' <<< ${XDG_CONFIG_DIRS}))
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 65:
aurpkgs+=($($pacmanbin -Sp "$i" 2>&1 >/dev/null | awk -F " " '{print $NF}'))
^-- SC2069: The order of the 2>&1 and the redirect matters. The 2>&1 has to be last.
In - line 67:
if [[ -n "$(grep -E ".*\)$" <<< "$i")" ]]; then
^-- SC2143: Instead of [ -n $(foo | grep bar) ], use foo | grep -q bar .
In - line 73:
repopkgs=($(LC_COLLATE=C comm -23 <(tr ' ' '\n' <<< ${pkgs[@]} | LC_COLLATE=C sort -u) <(tr ' ' '\n' <<< ${aurpkgs[@]} | LC_COLLATE=C sort -u)))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 98:
aurpkgs+=($(cower -u ${coweropts[@]} ${pkgs[@]} 2>"$tmpdir/ignoretmp" | sed -r "s:\x1B\[[0-9;]*[mK]::g" | awk -F " " '{print $2}'))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 103:
downloadjson ${foreignpkgs[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 105:
aurforeignpkgs=($(LC_COLLATE=C comm -23 <(tr ' ' '\n' <<< ${foreignpkgs[@]} | LC_COLLATE=C sort -u) <(tr ' ' '\n' <<< ${allaurpkgs[@]} | LC_COLLATE=C sort -u)))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 113:
[[ -n "$(grep -E "\-(cvs|svn|git|hg|bzr|darcs|nightly.*)$" <<< $i)" ]] && aurpkgs+=("$i")
^-- SC2143: Instead of [ -n $(foo | grep bar) ], use foo | grep -q bar .
In - line 118:
aurpkgs=($(tr ' ' '\n' <<< ${aurpkgs[@]} | sort -u))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 120:
nothingtodo ${aurpkgs[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 130:
downloadjson ${checkaurpkgs[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 135:
[[ -n "$(grep -E "\-(cvs|svn|git|hg|bzr|darcs|nightly.*)$" <<< ${checkaurpkgsAname[$i]})" ]] && checkaurpkgsAver[$i]=$"latest"
^-- SC2143: Instead of [ -n $(foo | grep bar) ], use foo | grep -q bar .
In - line 138:
if [[ " ${ignoredpkgs[@]} " =~ " ${checkaurpkgs[$i]} " ]]; then
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
In - line 154:
nothingtodo ${aurpkgs[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 166:
FindDepsAur ${aurpkgs[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 169:
downloadjson ${deps[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 176:
[[ -n "$(grep -E "\-(cvs|svn|git|hg|bzr|darcs|nightly.*)$" <<< ${depsAname[$i]})" ]] && depsAver[$i]=$"latest"
^-- SC2143: Instead of [ -n $(foo | grep bar) ], use foo | grep -q bar .
In - line 193:
FindDepsRepo ${repodeps[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 200:
downloadjson ${depspkgsaur[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 203:
[[ -z "${prevdepspkgsaur[@]}" ]] && errdeps+=($(LC_COLLATE=C comm -3 <(tr ' ' '\n' <<< $(getjsonvar "Name") | sort -u) <(tr ' ' '\n' <<< ${aurpkgs[@]} | sort -u)))
^-- SC2046: Quote this to prevent word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 216:
if [[ -z "$prevaurver" ]]; then
^-- SC2128: Expanding an array without an index only gives the first element.
In - line 217:
[[ ! " ${errdeps[@]} " =~ " ${prevdepspkgsaur[$i]} " ]] && errdeps+=(${prevdepspkgsaur[$i]})
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
In - line 223:
*">="*) [[ $(vercmp "$prevaurver" "$prevver") -ge 0 ]] && continue;;
^-- SC2128: Expanding an array without an index only gives the first element.
In - line 224:
*"<="*) [[ $(vercmp "$prevaurver" "$prevver") -le 0 ]] && continue;;
^-- SC2128: Expanding an array without an index only gives the first element.
In - line 225:
*">"*) [[ $(vercmp "$prevaurver" "$prevver") -gt 0 ]] && continue;;
^-- SC2128: Expanding an array without an index only gives the first element.
In - line 226:
*"<"*) [[ $(vercmp "$prevaurver" "$prevver") -lt 0 ]] && continue;;
^-- SC2128: Expanding an array without an index only gives the first element.
In - line 227:
*"="*) [[ $(vercmp "$prevaurver" "$prevver") -eq 0 ]] && continue;;
^-- SC2128: Expanding an array without an index only gives the first element.
In - line 229:
[[ ! " ${errdeps[@]} " =~ " ${prevdepspkgsaur[$i]} " ]] && errdeps+=(${prevdepspkgsaur[$i]})
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
In - line 251:
depspkgsaur=($($pacmanbin -Sp "${depspkgs[@]}" 2>&1 >/dev/null | awk -F " " '{print $NF}'))
^-- SC2069: The order of the 2>&1 and the redirect matters. The 2>&1 has to be last.
In - line 252:
repodeps+=($(LC_COLLATE=C comm -23 <(tr ' ' '\n' <<< ${depspkgs[@]} | LC_COLLATE=C sort -u) <(tr ' ' '\n' <<< ${depspkgsaur[@]} | LC_COLLATE=C sort -u)))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 266:
depspkgsaur=($(tr ' ' '\n' <<< ${depspkgsaur[@]} | sort -u))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 268:
if [[ " ${deps[@]} " =~ " ${depspkgsaur[$i]} " ]]; then
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
In - line 269:
deps=($(tr ' ' '\n' <<< ${deps[@]} | sed "s/^${depspkgsaur[$i]}$//g"))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 270:
aurdepspkgs=($(tr ' ' '\n' <<< ${aurdepspkgs[@]} | sed "s/^${depspkgsaur[$i]}$//g"))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 278:
FindDepsAur ${depspkgsaur[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 286:
repodeps=($(tr ' ' '\n' <<< ${repodeps[@]} | sort -u))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 293:
providersrepopkgs=($(LC_COLLATE=C comm -23 <(tr ' ' '\n' <<< ${allrepopkgs[@]} | LC_COLLATE=C sort -u) <(tr ' ' '\n' <<< $(expac -S '%n' "${allrepopkgs[@]}") | LC_COLLATE=C sort -u)))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2046: Quote this to prevent word splitting.
In - line 304:
allrepopkgs=($(LC_COLLATE=C comm -23 <(tr ' ' '\n' <<< ${allrepopkgs[@]} | LC_COLLATE=C sort -u) <(tr ' ' '\n' <<< ${providersrepopkgsrm[@]} | LC_COLLATE=C sort -u)))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 319:
if [[ " ${ignoredpkgs[@]} " =~ " $i " ]]; then
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
In - line 326:
[[ " ${aurpkgs[@]} " =~ " $i " ]] && continue
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
In - line 327:
[[ " ${rmaurpkgs[@]} " =~ " $i " ]] && note "e" $"Unresolved dependency '${colorW}$i${reset}'"
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
In - line 329:
if [[ " ${ignoredpkgs[@]} " =~ " $i " ]]; then
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
In - line 356:
providerspkgs=($(tr ' ' '|' <<< ${providerspkgs[@]}))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 357:
provided+=($(expac -Ss '%S' "^(${providerspkgs[@]})$"))
^-- SC2145: Argument mixes string and array. Use * or separate argument.
In - line 358:
[[ " ${provided[@]} " =~ " ${providersdeps[$i]} " ]] && continue
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
In - line 375:
[0-9]) [[ $nb -lt 0 || $nb -ge ${#providers[@]} ]] && echo && note "f" $"invalid value: $nb is not between 0 and $providersnb" && ((i--)) || break;;
^-- SC2015: Note that A && B || C is not if-then-else. C may run when A is true.
In - line 395:
repodepspkgs=($(LC_COLLATE=C comm -23 <(tr ' ' '\n' <<< ${repodepspkgs[@]} | LC_COLLATE=C sort -u) <(tr ' ' '\n' <<< ${providerpkgsrm[@]} | LC_COLLATE=C sort -u)))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 431:
aurconflicts+=($(LC_COLLATE=C comm -12 <(tr ' ' '\n' <<< ${Aprovides[@]} | LC_COLLATE=C sort -u) <(tr ' ' '\n' <<< ${allQconflicts[@]} | LC_COLLATE=C sort -u)))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 432:
aurconflicts+=($(LC_COLLATE=C comm -12 <(tr ' ' '\n' <<< ${Aconflicts[@]} | LC_COLLATE=C sort -u) <(tr ' ' '\n' <<< ${allQprovides[@]} | LC_COLLATE=C sort -u)))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 433:
aurconflicts=($(tr ' ' '\n' <<< ${aurconflicts[@]} | LC_COLLATE=C sort -u))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 437:
[[ " ${depsAname[@]} " =~ " $i " ]] && aurAconflicts=("$i")
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
In - line 439:
[[ " $(getjsonarrayvar "Conflicts" "$j") " =~ " $i " ]] && aurAconflicts+=("$j")
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
In - line 445:
[[ ! $installpkg && ! " ${aurdepspkgs[@]} " =~ " $j " ]] && continue # skip if downloading target only
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
In - line 446:
[[ $j = $k || -z "$k" ]] && continue # skip if reinstalling or if no conflict exists
^-- SC2053: Quote the rhs of = in [[ ]] to prevent glob interpretation.
In - line 449:
if [[ ! $noconfirm && ! " ${aurconflictingpkgs[@]} " =~ " $k " ]]; then
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
In - line 454:
[[ " ${depsAname[$l]} " =~ "$k" ]] && depsQver[$l]=$(expac -Qs '%v' "^$k$")
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
In - line 461:
[[ ! " ${Aprovides[@]} " =~ " $k " && ! " ${aurconflictingpkgsrm[@]} " =~ " $k " ]] && checkQrequires $k
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 474:
[[ ! " ${Aprovides[@]} " =~ " $k " ]] && checkQrequires $k
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 478:
nothingtodo ${deps[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 485:
repoconflicts+=($(LC_COLLATE=C comm -12 <(tr ' ' '\n' <<< ${repodepsprovides[@]} | LC_COLLATE=C sort -u) <(tr ' ' '\n' <<< ${allQconflicts[@]} | LC_COLLATE=C sort -u)))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 486:
repoconflicts+=($(LC_COLLATE=C comm -12 <(tr ' ' '\n' <<< ${repodepsconflicts[@]} | LC_COLLATE=C sort -u) <(tr ' ' '\n' <<< ${allQprovides[@]} | LC_COLLATE=C sort -u)))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 487:
repoconflicts=($(tr ' ' '\n' <<< ${repoconflicts[@]} | LC_COLLATE=C sort -u))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 497:
if [[ ! $noconfirm && ! " ${repoconflictingpkgs[@]} " =~ " $k " ]]; then
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
In - line 502:
[[ ! " ${Qprovides[@]} " =~ " $k " && ! " ${repoconflictingpkgsrm[@]} " =~ " $k " ]] && checkQrequires $k
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 511:
[[ ! " ${Qprovides[@]} " =~ " $k " ]] && checkQrequires $k
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 519:
[[ ! " ${aurpkgs[@]} " =~ " ${depsAname[$i]} " || " ${aurconflictingpkgs[@]} " =~ " ${depsAname[$i]} " ]] && continue
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
In - line 521:
[[ ! $installpkg && ! " ${aurdepspkgs[@]} " =~ " ${depsAname[$i]} " ]] && continue
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
In - line 522:
if [[ -n "$(grep -E "\-(cvs|svn|git|hg|bzr|darcs|nightly.*)$" <<< ${depsAname[$i]})" ]]; then
^-- SC2143: Instead of [ -n $(foo | grep bar) ], use foo | grep -q bar .
In - line 529:
deps=($(tr ' ' '\n' <<< ${deps[@]} | sed "s/^${depsAname[$i]}$//g"))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 536:
nothingtodo ${deps[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 555:
sumk=$(($sumk + ${binaryksize[$i]}))
^-- SC2004: $/${} is unnecessary on arithmetic variables.
In - line 556:
summ=$(($summ + ${binarymsize[$i]}))
^-- SC2004: $/${} is unnecessary on arithmetic variables.
In - line 570:
if [[ -n "$(grep '^VerbosePkgLists' '/etc/pacman.conf')" ]]; then
^-- SC2143: Instead of [ -n $(foo | grep bar) ], use foo | grep -q bar .
In - line 573:
lname=$(getlength ${depsArepo[@]} ${repodepsSrepo[@]} "$strname")
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 574:
lver=$(getlength ${depsQver[@]} ${depsAver[@]} ${repodepsQver[@]} ${repodepsSver[@]} "$stroldver" "$strnewver")
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 579:
[[ "${depsQver[$i]}" =~ '#' ]] && unset depsQver[$i]
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
In - line 630:
coweropts+=("-d") && DownloadAur ${deps[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 632:
getpackagebase ${deps[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 633:
EditPkgs ${basepkgs[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 639:
[[ " ${cachedpkgs[@]} " =~ " $i " ]] && continue
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
In - line 640:
getinstallscripts $i
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 645:
[[ -e "$builddir/$i/PKGBUILD" ]] && $editor "$builddir/$i/PKGBUILD" && note "s" $"${colorW}$i${reset} PKGBUILD viewed" || note "e" $"Could not open ${colorW}$i${reset} PKGBUILD"
^-- SC2015: Note that A && B || C is not if-then-else. C may run when A is true.
In - line 652:
[[ -e "$builddir/$i/$j" ]] && $editor "$builddir/$i/$j" && note "s" $"${colorW}$j${reset} script viewed" || note "e" $"Could not open ${colorW}$j${reset} script"
^-- SC2015: Note that A && B || C is not if-then-else. C may run when A is true.
In - line 657:
[[ -e "$builddir/$i/PKGBUILD" ]] && $editor "$builddir/$i/PKGBUILD" && note "s" $"${colorW}$i${reset} PKGBUILD viewed" || note "e" $"Could not open ${colorW}$i${reset} PKGBUILD"
^-- SC2015: Note that A && B || C is not if-then-else. C may run when A is true.
In - line 660:
[[ -e "$builddir/$i/$j" ]] && $editor "$builddir/$i/$j" && note "s" $"${colorW}$j${reset} script viewed" || note "e" $"Could not open ${colorW}$j${reset} script"
^-- SC2015: Note that A && B || C is not if-then-else. C may run when A is true.
In - line 679:
[[ "${pkgsbase[$i]}" = "${pkgsbase[$j]}" ]] && [[ ! " ${pkgsdeps[@]} " =~ " ${deps[$j]} " ]] && pkgsdeps+=("${deps[$j]}")
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
In - line 683:
pkgsdeps=($(sed 's/ # /\n/g' <<< ${pkgsdeps[@]} | tr -d '#' | sed '/^ $/d' | tr ' ' ',' | sed 's/^,//g;s/,$//g'))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 686:
basepkgs=($(awk '{for (i=NF;i>=1;i--) print $i}' <<< ${basepkgs[@]} | awk -F "\n" '{print}'))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 687:
pkgsdeps=($(awk '{for (i=NF;i>=1;i--) print $i}' <<< ${pkgsdeps[@]} | awk -F "\n" '{print}'))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 704:
makepkg -od ${makeopts[@]} &>/dev/null
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 706:
makepkg -od ${makeopts[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 723:
yes $(gettext pacman Y) | sudo $pacmanbin -S ${providerpkgs[@]} --asdeps
^-- SC2046: Quote this to prevent word splitting.
^-- SC2086: Double quote to prevent globbing and word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 736:
if [[ -n "$(grep -E "\-(bzr|git|hg|svn)$" <<< ${basepkgs[$i]})" && ! $rebuild ]]; then
^-- SC2143: Instead of [ -n $(foo | grep bar) ], use foo | grep -q bar .
In - line 737:
if [[ -n "$(grep -E '^pkgver[ ]*[(]+[)]+' "PKGBUILD")" ]]; then
^-- SC2143: Instead of [ -n $(foo | grep bar) ], use foo | grep -q bar .
In - line 773:
if [[ " ${aurdepspkgs[@]} " =~ " $j " || $installpkg ]]; then
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
In - line 775:
yes $(gettext pacman Y) | sudo $pacmanbin -U $cachedpkg ${pacopts[@]}
^-- SC2046: Quote this to prevent word splitting.
^-- SC2086: Double quote to prevent globbing and word splitting.
^-- SC2086: Double quote to prevent globbing and word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 776:
[[ ! " ${aurpkgs[@]} " =~ " $j " ]] && sudo $pacmanbin -D $j --asdeps ${pacopts[@]} &>/dev/null
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
^-- SC2086: Double quote to prevent globbing and word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 780:
pkgsdeps=($(tr ' ' '\n' <<< ${pkgsdeps[@]} | sed "s/^$j,//g;s/,$j$//g;s/,$j,/,/g;s/^$j$/#/g"))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 792:
yes $(gettext pacman Y) | makepkg -esfi ${makeopts[@]} --pkg ${pkgsdeps[$i]} &>/dev/null
^-- SC2046: Quote this to prevent word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 794:
yes $(gettext pacman Y) | makepkg -esfi ${makeopts[@]} --pkg ${pkgsdeps[$i]}
^-- SC2046: Quote this to prevent word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 799:
[[ " ${aurdepspkgs[@]} " =~ " $j " ]] && isaurdeps=true
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
In - line 805:
yes $(gettext pacman Y) | makepkg -esfi ${makeopts[@]} --pkg ${pkgsdeps[$i]} &>/dev/null
^-- SC2046: Quote this to prevent word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 807:
yes $(gettext pacman Y) | makepkg -esfi ${makeopts[@]} --pkg ${pkgsdeps[$i]}
^-- SC2046: Quote this to prevent word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 812:
yes $(gettext pacman Y) | makepkg -esfr ${makeopts[@]} --pkg ${pkgsdeps[$i]} &>/dev/null
^-- SC2046: Quote this to prevent word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 814:
yes $(gettext pacman Y) | makepkg -esfr ${makeopts[@]} --pkg ${pkgsdeps[$i]}
^-- SC2046: Quote this to prevent word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 834:
[[ ! " ${aurpkgs[@]} " =~ " $j " ]] && sudo $pacmanbin -D $j --asdeps ${pacopts[@]} &>/dev/null
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
^-- SC2086: Double quote to prevent globbing and word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 835:
[[ " ${pacopts[@]} " =~ " --asdeps " ]] && sudo $pacmanbin -D $j --asdeps ${pacopts[@]} &>/dev/null
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
^-- SC2086: Double quote to prevent globbing and word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 836:
[[ " ${pacopts[@]} " =~ " --asexplicit " ]] && sudo $pacmanbin -D $j --asexplicit ${pacopts[@]} &>/dev/null
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
^-- SC2086: Double quote to prevent globbing and word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 846:
sudo $pacmanbin -Rsn ${aurdepspkgs[@]} --noconfirm
^-- SC2086: Double quote to prevent globbing and word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 849:
[[ -n "${aurconflictingpkgsrm[@]}" ]] && sudo $pacmanbin -S ${aurconflictingpkgsrm[@]} --asdeps --needed --noconfirm
^-- SC2086: Double quote to prevent globbing and word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 850:
[[ -n "${repoconflictingpkgsrm[@]}" ]] && sudo $pacmanbin -S ${repoconflictingpkgsrm[@]} --asdeps --needed --noconfirm
^-- SC2086: Double quote to prevent globbing and word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 859:
neworphanpkgs=($(LC_COLLATE=C comm -23 <(tr ' ' '\n' <<< ${orphanpkgs[@]} | LC_COLLATE=C sort -u) <(tr ' ' '\n' <<< ${oldorphanpkgs[@]} | LC_COLLATE=C sort -u)))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 880:
if [[ ! $cleandevel = true && -n "$(grep -E "\-(cvs|svn|git|hg|bzr|darcs)$" <<< $i)" && $count -lt 2 ]]; then
^-- SC2143: Instead of [ -n $(foo | grep bar) ], use foo | grep -q bar .
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 885:
chmod -R 755 $i &>/dev/null
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 886:
rm -r $i &>/dev/null && note "s" $"${colorW}$i${reset} cleaned" || note "w" $"Could not clean ${colorW}$i${reset}"
^-- SC2086: Double quote to prevent globbing and word splitting.
^-- SC2015: Note that A && B || C is not if-then-else. C may run when A is true.
In - line 891:
chmod -R 755 $builddir/* &>/dev/null
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 892:
rm -r $builddir/* &>/dev/null && note "s" $"Build directory cleaned" || note "w" $"Build directory already cleaned"
^-- SC2086: Double quote to prevent globbing and word splitting.
^-- SC2015: Note that A && B || C is not if-then-else. C may run when A is true.
In - line 904:
done < <(cower ${coweropts[@]} -b $@ ${ignoreopts[@]} -t $builddir 2>&1)
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 909:
[[ $sortbyvotes = true && -z "$(grep -E "\-\-[r]?sort" <<< ${coweropts[@]})" ]] && coweropts+=("--rsort=votes")
^-- SC2143: Instead of [ -z $(foo | grep bar) ], use ! foo | grep -q bar .
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 910:
cower ${coweropts[@]} $@
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 915:
repopkgsQood=($($pacmanbin -Quq $@))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 917:
[[ $quiet ]] && tr ' ' '\n' <<< ${repopkgsQood[@]} && return
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 924:
[[ " ${ignoredpkgs[@]} " =~ " ${repopkgsQood[$i]} " ]] && repopkgsQignore[$i]=$"[ ignored ]"
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
In - line 939:
aurpkgsQood=($(cower ${coweropts[@]} $@ | sed -r "s:\x1B\[[0-9;]*[mK]::g"))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 941:
[[ $quiet ]] && tr ' ' '\n' <<< ${aurpkgsQood[@]} && return
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 942:
downloadjson ${aurpkgsQood[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 947:
[[ " ${ignoredpkgs[@]} " =~ " ${aurpkgsQood[$i]} " ]] && aurpkgsQignore[$i]=$"[ ignored ]"
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
In - line 969:
paccache -ru -k0 -c $PKGDEST &>/dev/null
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 973:
paccache -r -k0 -c $PKGDEST &>/dev/null
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 989:
[[ -n "${installscriptspath[@]}" ]] && installscripts=($(basename -a ${installscriptspath[@]}))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1003:
[[ " ${basepkgs[@]} " =~ " $i " ]] && continue
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
In - line 1010:
urlencodedpkgs=($(sed 's/+/%2b/g;s/@/%40/g' <<< $@)) # pkgname consists of alphanum@._+-
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1017:
urlencodedpkgs1=($(sed 's/+/%2b/g;s/@/%40/g' <<< ${urlpkgs[@]:0:$((${#urlpkgs[@]}/2))}))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1018:
urlencodedpkgs2=($(sed 's/+/%2b/g;s/@/%40/g' <<< ${urlpkgs[@]:$((${#urlpkgs[@]}/2))}))
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1045:
Qrequires=$(expac -Q '%n %D' | grep -E " $@[\+]*[^a-zA-Z0-9_@\.\+-]+" | awk -F " " '{print $1}' | tr '\n' ' ')
^-- SC2145: Argument mixes string and array. Use * or separate argument.
In - line 1090:
echo $length
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 1225:
[[ "${opts[@]}" =~ "w" ]] && continue || installpkg=true;
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
In - line 1226:
[[ "${opts[@]}" =~ "g" || "${opts[@]}" =~ "l" || "${opts[@]}" =~ "p" ]] && unset operation;;
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
^-- SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex.
In - line 1228:
h) [[ "${opts[@]}" =~ ^-[A-Z] ]] && unset operation && continue || usage; exit;;
^-- SC2015: Note that A && B || C is not if-then-else. C may run when A is true.
In - line 1229:
v) [[ "${opts[@]}" =~ ^-[A-Z] ]] && continue || version; exit;;
^-- SC2015: Note that A && B || C is not if-then-else. C may run when A is true.
In - line 1240:
if [[ -n "$(grep '^Color' '/etc/pacman.conf')" && $color != 'never' ]]; then
^-- SC2143: Instead of [ -n $(foo | grep bar) ], use foo | grep -q bar .
In - line 1250:
elif [[ -z "$(grep '^Color' '/etc/pacman.conf')" && ($color = 'always' || $color = 'auto') ]]; then
^-- SC2143: Instead of [ -z $(foo | grep bar) ], use ! foo | grep -q bar .
In - line 1258:
colorC="\e[1;36m"
^-- SC2034: colorC appears unused. Verify it or export it.
In - line 1282:
DownloadAur ${pkgs[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1283:
downloadjson ${pkgsedit[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1284:
getpackagebase ${pkgsedit[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1285:
EditPkgs ${pkgsbase[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1289:
CleanUp ${pkgs[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1293:
downloadjson ${pkgs[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1294:
getpackagebase ${pkgs[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1295:
EditPkgs ${pkgsbase[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1301:
[[ $refresh ]] && sudo $pacmanbin ${pacmanarg[@]} ${pacopts[@]} ${ignoreopts[@]} ${pkgs[@]}
^-- SC2086: Double quote to prevent globbing and word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1302:
[[ ! $refresh ]] && $pacmanbin ${pacmanarg[@]} ${pacopts[@]} ${ignoreopts[@]} ${pkgs[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1304:
[[ ! $repo ]] && [[ $fallback = true || $aur ]] && SearchInfoAur ${pkgs[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1307:
[[ -z "${pkgs[@]}" ]] && $pacmanbin ${pacmanarg[@]} ${pacopts[@]} ${ignoreopts[@]} || ClassifyPkgs ${pkgs[@]}
^-- SC2015: Note that A && B || C is not if-then-else. C may run when A is true.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1309:
[[ $refresh ]] && sudo $pacmanbin ${pacmanarg[@]} ${pacopts[@]} ${ignoreopts[@]} ${repopkgs[@]}
^-- SC2086: Double quote to prevent globbing and word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1310:
[[ ! $refresh ]] && $pacmanbin ${pacmanarg[@]} ${pacopts[@]} ${ignoreopts[@]} ${repopkgs[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1313:
[[ $refresh ]] && [[ -z "${repopkgs[@]}" ]] && sudo $pacmanbin -Sy ${pacopts[@]} ${ignoreopts[@]}
^-- SC2086: Double quote to prevent globbing and word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1315:
SearchInfoAur ${aurpkgs[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 1319:
[[ ! $aur ]] && sudo $pacmanbin ${pacmanarg[@]} ${pacopts[@]} ${ignoreopts[@]} ${repopkgs[@]}
^-- SC2086: Double quote to prevent globbing and word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1320:
[[ ! $repo ]] && [[ $fallback = true || $aur ]] && CleanCache ${pkgs[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1323:
[[ ! $selective ]] && ClassifyPkgs ${pkgs[@]} && unset pkgs # selective upgrade switch
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1324:
[[ ! $aur ]] && sudo $pacmanbin ${pacmanarg[@]} ${pacopts[@]} ${ignoreopts[@]} ${repopkgs[@]}
^-- SC2086: Double quote to prevent globbing and word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1325:
[[ ! $repo ]] && [[ $aur ]] && [[ $refresh ]] && [[ -z "${repopkgs[@]}" ]] && sudo $pacmanbin -Sy ${pacopts[@]} ${ignoreopts[@]}
^-- SC2086: Double quote to prevent globbing and word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1327:
[[ ! $repo ]] && [[ $fallback = true || $aur ]] && Core ${aurpkgs[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 1330:
[[ -z "${pkgs[@]}" ]] && sudo $pacmanbin ${pacmanarg[@]} ${pacopts[@]} ${ignoreopts[@]} || ClassifyPkgs ${pkgs[@]}
^-- SC2015: Note that A && B || C is not if-then-else. C may run when A is true.
^-- SC2086: Double quote to prevent globbing and word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1331:
[[ -n "${repopkgs[@]}" ]] && sudo $pacmanbin ${pacmanarg[@]} ${pacopts[@]} ${ignoreopts[@]} ${repopkgs[@]}
^-- SC2086: Double quote to prevent globbing and word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1333:
[[ $refresh ]] && [[ -z "${repopkgs[@]}" ]] && sudo $pacmanbin -Sy ${pacopts[@]} ${ignoreopts[@]}
^-- SC2086: Double quote to prevent globbing and word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1335:
Core ${aurpkgs[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2086: Double quote to prevent globbing and word splitting.
In - line 1341:
[[ ! $aur ]] && CheckRepo ${pkgs[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1342:
[[ ! $repo ]] && [[ $fallback = true || $aur ]] && CheckAur ${pkgs[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1345:
if [[ -z "${pkgs[@]}" || -n "$(grep -e "-[QTglp]" <<< ${pacmanarg[@]})" ]]; then
^-- SC2143: Instead of [ -n $(foo | grep bar) ], use foo | grep -q bar .
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1346:
$pacmanbin ${pacmanarg[@]} ${pacopts[@]} ${ignoreopts[@]} ${pkgs[@]}
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
In - line 1348:
sudo $pacmanbin ${pacmanarg[@]} ${pacopts[@]} ${ignoreopts[@]} ${pkgs[@]}
^-- SC2086: Double quote to prevent globbing and word splitting.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
^-- SC2068: Double quote array expansions, otherwise they're like $* and break on spaces.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment