stage0.sh: Update shebang to use /usr/bin/env; add new make_bin_sh_point_to_bash...
authorJason Self <j@jxself.org>
Mon, 14 Aug 2017 03:11:27 +0000 (20:11 -0700)
committerJason Self <j@jxself.org>
Mon, 14 Aug 2017 03:11:27 +0000 (20:11 -0700)
stage0.sh

index 42026a2c5c14090d9f28116376bdef4d891afa90..12476c67ac8e5b2148262281cf313674b0ff9cac 100644 (file)
--- a/stage0.sh
+++ b/stage0.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 set -euo pipefail
 
 # Copyright (C) 2017 Jason Self <j@jxself.org>
@@ -18,10 +18,23 @@ set -euo pipefail
 # <http://www.gnu.org/licenses/>.
 
 check_if_root () {
-  if [[ $EUID -ne 0 ]]; then
-    echo "This script must be run as root" 1>&2
-    exit 1
-  fi
+    if [[ $EUID -ne 0 ]]; then
+        echo "This script must be run as root." 1>&2
+        exit 1
+    fi
 }
 
-check_if_root
\ No newline at end of file
+make_bin_sh_point_to_bash () {
+    # This checks if /bin/sh is a symlink so as to avoid replacing
+    # it in cases where it's not a symlink (i.e., an executable.)
+    if [ -h /bin/sh ];
+    then
+        ln -sf bash /bin/sh
+    else
+        echo "/bin/sh is not a symlink"
+        exit 1;
+    fi
+}
+
+check_if_root
+make_bin_sh_point_to_bash
\ No newline at end of file