Minor Bash improvements

Based on output of static analysis tool.

https://github.com/koalaman/shellcheck/wiki/SC2166
https://github.com/koalaman/shellcheck/wiki/SC2207
https://github.com/koalaman/shellcheck/wiki/SC2145
https://github.com/koalaman/shellcheck/wiki/SC2001
https://github.com/koalaman/shellcheck/wiki/SC2129
https://github.com/koalaman/shellcheck/wiki/SC2128
https://github.com/koalaman/shellcheck/wiki/SC2004
https://github.com/koalaman/shellcheck/wiki/SC2048

Closes #3162.

PiperOrigin-RevId: 160261247
diff --git a/scripts/ci/build.sh b/scripts/ci/build.sh
index 1f1dade..9ead03c 100755
--- a/scripts/ci/build.sh
+++ b/scripts/ci/build.sh
@@ -120,7 +120,7 @@
     mkdir -p $1/packages
     cp bazel-bin/src/bazel $1/bazel
     # The version with a bundled JDK may not exist on all platforms.
-    if [ "${JAVA_VERSION}" = "1.8" -a -e "bazel-bin/scripts/packages/with-jdk/install.sh" ]; then
+    if [ "${JAVA_VERSION}" = "1.8" ] && [ -e "bazel-bin/scripts/packages/with-jdk/install.sh" ]; then
       cp bazel-bin/scripts/packages/with-jdk/install.sh $1/bazel-${release_label}-installer.sh
       cp bazel-bin/scripts/packages/without-jdk/install.sh $1/bazel-${release_label}-without-jdk-installer.sh
     else
diff --git a/scripts/ci/ci.sh b/scripts/ci/ci.sh
index e25f8d5..546c3b4 100755
--- a/scripts/ci/ci.sh
+++ b/scripts/ci/ci.sh
@@ -50,15 +50,15 @@
 # Get a list of the current files in package form by querying Bazel.
 files=()
 for file in $(git diff --name-only ${COMMIT_RANGE} ); do
-  files+=($(bazel query $file))
-  echo $(bazel query $file)
+  IFS=$'\n' read -r -a files <<< "$(bazel query $file)"
+  bazel query $file
 done
 
 # Query for the associated buildables
 buildables=$(bazel query \
     --keep_going \
     --noshow_progress \
-    "kind(.*_binary, rdeps(//..., set(${files[@]})))")
+    "kind(.*_binary, rdeps(//..., set(${files[*]})))")
 # Run the tests if there were results
 if [[ ! -z $buildables ]]; then
   echo "Building binaries"
@@ -68,7 +68,7 @@
 tests=$(bazel query \
     --keep_going \
     --noshow_progress \
-    "kind(test, rdeps(//..., set(${files[@]}))) except attr('tags', 'manual', //...)")
+    "kind(test, rdeps(//..., set(${files[*]}))) except attr('tags', 'manual', //...)")
 # Run the tests if there were results
 if [[ ! -z $tests ]]; then
   echo "Running tests"
diff --git a/scripts/release/common.sh b/scripts/release/common.sh
index 7cd6d0b..ca8ebd4 100755
--- a/scripts/release/common.sh
+++ b/scripts/release/common.sh
@@ -89,7 +89,7 @@
 # candidate in this release.
 function get_release_branch() {
   local branch_name=$(git_get_branch)
-  if [ -z "$(get_release_name)" -o -z "$(get_release_candidate)" ]; then
+  if [ -z "$(get_release_name)" ] || [ -z "$(get_release_candidate)" ]; then
     echo "Not a release branch: ${branch_name}." >&2
     exit 1
   fi
diff --git a/scripts/release/release.sh b/scripts/release/release.sh
index e3fb691..13c874c 100755
--- a/scripts/release/release.sh
+++ b/scripts/release/release.sh
@@ -102,10 +102,12 @@
   trap "rm -f ${tmpfile}" EXIT
   echo -n "## ${infos}" >${tmpfile}
   if [ -f "${changelog_path}" ]; then
-    echo >>${tmpfile}
-    echo >>${tmpfile}
-    cat "${changelog_path}" >>${tmpfile}
-    echo >>${tmpfile}
+    {
+      echo
+      echo
+      cat "${changelog_path}"
+      echo
+    } >> ${tmpfile}
   fi
   cat "${tmpfile}" > ${changelog_path}
   git add ${changelog_path}
@@ -313,7 +315,7 @@
 
   echo -n "You are about to release branch ${branch} in tag ${tag_name}, confirm? [y/N] "
   read answer
-  if [ "$answer" = "y" -o "$answer" = "Y" ]; then
+  if [ "$answer" = "y" ] || [ "$answer" = "Y" ]; then
     echo "Creating the release commit"
     create_release_commit "${tag_name}"
     set_release_name "${tag_name}"
@@ -352,7 +354,7 @@
   local tag_name=$(get_release_name)
   echo -n "You are about to abandon release ${tag_name}, confirm? [y/N] "
   read answer
-  if [ "$answer" = "y" -o "$answer" = "Y" ]; then
+  if [ "$answer" = "y" ] || [ "$answer" = "Y" ]; then
     git notes --ref=release remove 2>/dev/null || true
     git notes --ref=release-candidate remove 2>/dev/null || true
     git checkout -q master >/dev/null