--- gitlab-runner-v12.1.0/shells/bash.go	2019-07-19 12:13:32.000000000 +0000
+++ gitlab-runner-v12.1.0/shells/bash.go	2020-04-26 23:07:57.303304498 +0000
@@ -102,12 +102,12 @@ func (b *BashWriter) Variable(variable c
 }
 
 func (b *BashWriter) IfDirectory(path string) {
-	b.Line(fmt.Sprintf("if [[ -d %q ]]; then", path))
+	b.Line(fmt.Sprintf("if [ -d %q ]; then", path))
 	b.Indent()
 }
 
 func (b *BashWriter) IfFile(path string) {
-	b.Line(fmt.Sprintf("if [[ -e %q ]]; then", path))
+	b.Line(fmt.Sprintf("if [ -e %q ]; then", path))
 	b.Indent()
 }
 
@@ -200,9 +200,10 @@ func (b *BashWriter) Finish(trace bool)
 		io.WriteString(w, "set -o xtrace\n")
 	}
 
-	io.WriteString(w, "set -eo pipefail\n")
+	io.WriteString(w, "set -e\n")
 	io.WriteString(w, "set +o noclobber\n")
-	io.WriteString(w, ": | eval "+helpers.ShellEscape(b.String())+"\n")
+	io.WriteString(w, "(\nexec </dev/null\n")
+	io.WriteString(w, b.String() + "\n)\n")
 	io.WriteString(w, "exit 0\n")
 	w.Flush()
 	return buffer.String()