01-bashrc.d.sh 612 B

12345678910111213141516171819202122232425262728
  1. #!/bin/env bash
  2. set -e
  3. BASHRCD="$HOME"/.bashrc.d
  4. BASHRC="$HOME/.bashrc"
  5. BASHRC_BLOCK='source "$HOME/.bashrc.d/.init.sh"'
  6. mkdir -p "$BASHRCD"
  7. INIT_FILE='
  8. THIS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &>/dev/null && pwd )"
  9. # Source all the 'bashrc.d' files
  10. # NOTE: Prepending `\` to `ls` to prevent alias expansion and just use plain `ls`
  11. for BASHRC_D_FILE in $(\ls ${THIS_DIR}/*.sh); do
  12. source "${BASHRC_D_FILE}"
  13. done
  14. '
  15. echo "$INIT_FILE" > "$BASHRCD"/.init.sh
  16. if ! grep -Fqs ".bashrc.d" "$BASHRC"; then
  17. echo "$BASHRC_BLOCK" >> "$BASHRC"
  18. else
  19. echo ".bashrc.d block already exists in $BASHRC"
  20. fi