diff --git a/bazel_tools/docker.bzl b/bazel_tools/docker.bzl
index b7f5f31..b45c72c 100644
--- a/bazel_tools/docker.bzl
+++ b/bazel_tools/docker.bzl
@@ -4,28 +4,32 @@
 # --- begin runfiles.bash initialization ---
 # Copy-pasted from Bazel's Bash runfiles library (tools/bash/runfiles/runfiles.bash).
 set -euo pipefail
-if [[ ! -d "\\$${{RUNFILES_DIR:-/dev/null}}" && ! -f "\\$${{RUNFILES_MANIFEST_FILE:-/dev/null}}" ]]; then
-    if [[ -f "\\$$0.runfiles_manifest" ]]; then
-        export RUNFILES_MANIFEST_FILE="\\$$0.runfiles_manifest"
-    elif [[ -f "\\$$0.runfiles/MANIFEST" ]]; then
-        export RUNFILES_MANIFEST_FILE="\\$$0.runfiles/MANIFEST"
-    elif [[ -f "\\$$0.runfiles/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then
-        export RUNFILES_DIR="\\$$0.runfiles"
+if [[ ! -d "\$${{RUNFILES_DIR:-/dev/null}}" && ! -f "\$${{RUNFILES_MANIFEST_FILE:-/dev/null}}" ]]; then
+    if [[ -f "\$$0.runfiles_manifest" ]]; then
+        export RUNFILES_MANIFEST_FILE="\$$0.runfiles_manifest"
+    elif [[ -f "\$$0.runfiles/MANIFEST" ]]; then
+        export RUNFILES_MANIFEST_FILE="\$$0.runfiles/MANIFEST"
+    elif [[ -f "\$$0.runfiles/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then
+        export RUNFILES_DIR="\$$0.runfiles"
     fi
 fi
-if [[ -f "\\$${{RUNFILES_DIR:-/dev/null}}/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then
-    source "\\$${{RUNFILES_DIR}}/bazel_tools/tools/bash/runfiles/runfiles.bash"
-elif [[ -f "\\$${{RUNFILES_MANIFEST_FILE:-/dev/null}}" ]]; then
-    source "\\$$(grep -m1 "^bazel_tools/tools/bash/runfiles/runfiles.bash "     \t                 "\\$$RUNFILES_MANIFEST_FILE" | cut -d ' ' -f 2-)"
+if [[ -f "\$${{RUNFILES_DIR:-/dev/null}}/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then
+    source "\$${{RUNFILES_DIR}}/bazel_tools/tools/bash/runfiles/runfiles.bash"
+elif [[ -f "\$${{RUNFILES_MANIFEST_FILE:-/dev/null}}" ]]; then
+    source "\$$(grep -m1 "^bazel_tools/tools/bash/runfiles/runfiles.bash " \
+    	                 "\$$RUNFILES_MANIFEST_FILE" | cut -d ' ' -f 2-)"
 else
     echo >&2 "ERROR: cannot find @bazel_tools//tools/bash/runfiles:runfiles.bash"
     exit 1
 fi
 # --- end runfiles.bash initialization ---
 IMAGE="{registry}/{image}:{tag}"
-DOCKERFILE=\\$$(rlocation __main__/{package}/{dockerfile})
-docker build       --tag=\\$$IMAGE       --file=\\$$DOCKERFILE       \\$$(dirname "\\$$DOCKERFILE")
-docker push \\$$IMAGE
+DOCKERFILE=\$$(rlocation __main__/{package}/{dockerfile})
+docker build \
+      --tag=\$$IMAGE \
+      --file=\$$DOCKERFILE \
+      \$$(dirname "\$$DOCKERFILE")
+docker push \$$IMAGE
 """
 
 def docker_image(name, registry, image, tag, dockerfile, srcs, **kwargs):
diff --git a/bazel_tools/helm.bzl b/bazel_tools/helm.bzl
index d74b847..8635257 100644
--- a/bazel_tools/helm.bzl
+++ b/bazel_tools/helm.bzl
@@ -3,26 +3,27 @@
 # --- begin runfiles.bash initialization ---
 # Copy-pasted from Bazel's Bash runfiles library (tools/bash/runfiles/runfiles.bash).
 set -euo pipefail
-if [[ ! -d "\\$${{RUNFILES_DIR:-/dev/null}}" && ! -f "\\$${{RUNFILES_MANIFEST_FILE:-/dev/null}}" ]]; then
-    if [[ -f "\\$$0.runfiles_manifest" ]]; then
-        export RUNFILES_MANIFEST_FILE="\\$$0.runfiles_manifest"
-    elif [[ -f "\\$$0.runfiles/MANIFEST" ]]; then
-        export RUNFILES_MANIFEST_FILE="\\$$0.runfiles/MANIFEST"
-    elif [[ -f "\\$$0.runfiles/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then
-        export RUNFILES_DIR="\\$$0.runfiles"
+if [[ ! -d "\$${{RUNFILES_DIR:-/dev/null}}" && ! -f "\$${{RUNFILES_MANIFEST_FILE:-/dev/null}}" ]]; then
+    if [[ -f "\$$0.runfiles_manifest" ]]; then
+        export RUNFILES_MANIFEST_FILE="\$$0.runfiles_manifest"
+    elif [[ -f "\$$0.runfiles/MANIFEST" ]]; then
+        export RUNFILES_MANIFEST_FILE="\$$0.runfiles/MANIFEST"
+    elif [[ -f "\$$0.runfiles/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then
+        export RUNFILES_DIR="\$$0.runfiles"
     fi
 fi
-if [[ -f "\\$${{RUNFILES_DIR:-/dev/null}}/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then
-    source "\\$${{RUNFILES_DIR}}/bazel_tools/tools/bash/runfiles/runfiles.bash"
-elif [[ -f "\\$${{RUNFILES_MANIFEST_FILE:-/dev/null}}" ]]; then
-    source "\\$$(grep -m1 "^bazel_tools/tools/bash/runfiles/runfiles.bash "     \t                 "\\$$RUNFILES_MANIFEST_FILE" | cut -d ' ' -f 2-)"
+if [[ -f "\$${{RUNFILES_DIR:-/dev/null}}/bazel_tools/tools/bash/runfiles/runfiles.bash" ]]; then
+    source "\$${{RUNFILES_DIR}}/bazel_tools/tools/bash/runfiles/runfiles.bash"
+elif [[ -f "\$${{RUNFILES_MANIFEST_FILE:-/dev/null}}" ]]; then
+    source "\$$(grep -m1 "^bazel_tools/tools/bash/runfiles/runfiles.bash " \
+    	                 "\$$RUNFILES_MANIFEST_FILE" | cut -d ' ' -f 2-)"
 else
     echo >&2 "ERROR: cannot find @bazel_tools//tools/bash/runfiles:runfiles.bash"
     exit 1
 fi
 # --- end runfiles.bash initialization ---
-CHART_TARBALL=\\$$(rlocation __main__/{package}/{chart})
-helm --namespace={namespace} install --create-namespace {release_name} \\$$CHART_TARBALL {args}
+CHART_TARBALL=\$$(rlocation __main__/{package}/{chart})
+helm --namespace={namespace} install --create-namespace {release_name} \$$CHART_TARBALL {args}
 """
 
 __HELM_UNINSTALL_TMPL = """
