I suspect this is just wrong -- you never need to quote the replacement side of a PE. In bash 4.3, this is essentially a no-op, but because of a bug in bash 4.2, we get embedded quotes as a result of this replacement. The relevant changelog item in bash is: Fixed a bug that caused single quotes that resulted from $'...' quoting in the replacement portion of a double-quoted ${word/pat/rep} expansion to be treated as quote characters. But this doesn't apply to us. Let's just drop the excessive quoting... --- scripts/makepkg.sh.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 880e778..e032e26 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -362,11 +362,11 @@ download_file() { # replace %o by the temporary dlfile if it exists if [[ ${cmdline[*]} = *%o* ]]; then dlfile=$filename.part - cmdline=("${cmdline[@]//%o/"$dlfile"}") + cmdline=("${cmdline[@]//%o/$dlfile}") fi # add the URL, either in place of %u or at the end if [[ ${cmdline[*]} = *%u* ]]; then - cmdline=("${cmdline[@]//%u/"$url"}") + cmdline=("${cmdline[@]//%u/$url}") else cmdline+=("$url") fi -- 2.2.1