Browse Source

modify shebang to bash after install if bash is installed.

neil 9 years ago
parent
commit
0a7c936442
5 changed files with 31 additions and 6 deletions
  1. 27 2
      acme.sh
  2. 1 1
      dnsapi/dns_cf.sh
  3. 1 1
      dnsapi/dns_cx.sh
  4. 1 1
      dnsapi/dns_dp.sh
  5. 1 1
      dnsapi/dns_myapi.sh

+ 27 - 2
acme.sh

@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
 VER=2.2.1
 VER=2.2.1
 
 
 PROJECT_NAME="acme.sh"
 PROJECT_NAME="acme.sh"
@@ -1844,6 +1844,19 @@ _precheck() {
   return 0
   return 0
 }
 }
 
 
+_setShebang() {
+  _file="$1"
+  _shebang="$2"
+  if [ -z "$_shebang" ] ; then
+    _err "Usage: file shebang"
+    return 1
+  fi
+  cp "$_file" "$_file.tmp"
+  echo "$_shebang" > "$_file"
+  sed -n 2,99999p  "$_file.tmp" >> "$_file"
+  rm -f "$_file.tmp"  
+}
+
 install() {
 install() {
 
 
   if ! _initpath ; then
   if ! _initpath ; then
@@ -1937,7 +1950,19 @@ install() {
   fi
   fi
   
   
   installcronjob
   installcronjob
-  
+
+  #Modify shebang
+  if _exists bash ; then
+    _info "Good, bash is installed, change the shebang to use bash as prefered."
+    _shebang='#!/usr/bin/env bash'
+    _setShebang "$LE_WORKING_DIR/$PROJECT_ENTRY" "$_shebang"
+    if [ -d "$LE_WORKING_DIR/dnsapi" ] ; then
+      for _apifile in $(ls "$LE_WORKING_DIR/dnsapi/"*.sh) ; do
+        _setShebang "$_apifile" "$_shebang"
+      done
+    fi
+  fi
+
   _info OK
   _info OK
 }
 }
 
 

+ 1 - 1
dnsapi/dns_cf.sh

@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
 
 
 
 
 #
 #

+ 1 - 1
dnsapi/dns_cx.sh

@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
 
 
 # Cloudxns.com Domain api
 # Cloudxns.com Domain api
 #
 #

+ 1 - 1
dnsapi/dns_dp.sh

@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
 
 
 # Dnspod.cn Domain api
 # Dnspod.cn Domain api
 #
 #

+ 1 - 1
dnsapi/dns_myapi.sh

@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
 
 
 #Here is a sample custom api script.
 #Here is a sample custom api script.
 #This file name is "dns_myapi.sh"
 #This file name is "dns_myapi.sh"