Bladeren bron

redo bashrc.d

Mike Ramthun 2 dagen geleden
bovenliggende
commit
9e0e875fa6
1 gewijzigde bestanden met toevoegingen van 18 en 13 verwijderingen
  1. 18 13
      01-bashrc.d.sh

+ 18 - 13
01-bashrc.d.sh

@@ -2,22 +2,27 @@
 
 set -e
 
-mkdir -p "$HOME/.bashrc.d"
+BASHRCD="$HOME"/.bashrc.d
+BASHRC="$HOME/.bashrc"
+BASHRC_BLOCK='source "$HOME/.bashrc.d/.init.sh"'
 
-FILE="$HOME/.bashrc"
+mkdir -p "$BASHRCD"
 
-BLOCK='
-if [ -d ~/.bashrc.d ]; then
-	for rc in ~/.bashrc.d/*; do
-		if [ -f "$rc" ]; then
-			. "$rc"
-		fi
-	done
-fi
+
+INIT_FILE='
+THIS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &>/dev/null && pwd )"
+
+# Source all the 'bashrc.d' files
+# NOTE: Prepending `\` to `ls` to prevent alias expansion and just use plain `ls`
+for BASHRC_D_FILE in $(\ls ${THIS_DIR}/*.sh); do
+  source "${BASHRC_D_FILE}"
+done
 '
 
-if ! grep -Fqs ".bashrc.d" "$FILE"; then
-  echo "$BLOCK" >> "$FILE"
+echo "$INIT_FILE" > "$BASHRCD"/.init.sh
+
+if ! grep -Fqs ".bashrc.d" "$BASHRC"; then
+  echo "$BASHRC_BLOCK" >> "$BASHRC"
 else
-  echo ".bashrc.d block already exists"
+  echo ".bashrc.d block already exists in $BASHRC"
 fi