Commit c8c3c585 authored by Robert Hensing's avatar Robert Hensing
Browse files

nixos-rebuild: Avoid empty command

"${a[@]}" => ok
"${foo:+a[@]}" => empty string when length is 0
parent 472dfb38
Loading
Loading
Loading
Loading
+18 −4
Original line number Diff line number Diff line
@@ -177,20 +177,34 @@ runCmd() {
}

buildHostCmd() {
    local c
    if [[ "${useSudo:-x}" = 1 ]]; then
        c=("${sudoCommand[@]}")
    else
        c=()
    fi

    if [ -z "$buildHost" ]; then
        runCmd "$@"
    elif [ -n "$remoteNix" ]; then
        runCmd ssh $SSHOPTS "$buildHost" "${useSudo:+${sudoCommand[@]}}" env PATH="$remoteNix":'$PATH' "$@"
        runCmd ssh $SSHOPTS "$buildHost" "${c[@]}" env PATH="$remoteNix":'$PATH' "$@"
    else
        runCmd ssh $SSHOPTS "$buildHost" "${useSudo:+${sudoCommand[@]}}" "$@"
        runCmd ssh $SSHOPTS "$buildHost" "${c[@]}" "$@"
    fi
}

targetHostCmd() {
    local c
    if [[ "${useSudo:-x}" = 1 ]]; then
        c=("${sudoCommand[@]}")
    else
        c=()
    fi

    if [ -z "$targetHost" ]; then
        runCmd "${useSudo:+${sudoCommand[@]}}" "$@"
        runCmd "${c[@]}" "$@"
    else
        runCmd ssh $SSHOPTS "$targetHost" "${useSudo:+${sudoCommand[@]}}" "$@"
        runCmd ssh $SSHOPTS "$targetHost" "${c[@]}" "$@"
    fi
}