Change I8998df2b44 (commit
58c1a7f1b0) changed these apt commands to
pipe into `cat` so that they will use non-interactive output. However,
not only was the use of a dedicated subshell and `cat` per command
wasteful, it also introduced a bug – in a pipeline, only the exit status
of the last component matters (unless `set -o pipefail` is in effect):
$ ( false | cat ) && echo 'This still runs.'
This still runs.
Change-Id: I22e76749faeec7589e1a4353c6d23db31070daf3
}
function update {
title 'S1: apt-get; clone'
- ssh_target -t "( sudo apt-get update | cat ) && ( DEBIAN_FRONTEND=noninteractive sudo -E apt-get upgrade -o Dpkg::Options::=\"--force-confold\" -y | cat ) && ( sudo apt-get install -y git curl $devPkgs | cat )"
+ ssh_target -t "{ sudo apt-get update && DEBIAN_FRONTEND=noninteractive sudo -E apt-get upgrade -o Dpkg::Options::=\"--force-confold\" -y && sudo apt-get install -y git curl $devPkgs; } | cat"
echo "Git init"
ssh_target -t '[[ -d .git ]] || git init;'
echo "Git push"