added ability to dynamically source files from file in home directory

added explanation and example in README.md
This commit is contained in:
Bryan Joshua Pedini 2024-03-24 09:50:29 +01:00
parent 3c9736d165
commit 0eb28cf6cc
2 changed files with 27 additions and 0 deletions

View File

@ -9,3 +9,19 @@ Explaining section for not-so-intuitive configurations
- alias `sambaserver`: (¡requires Docker!) please `cd` into the directoy is needed to be shared and execute `sambaserver`, then just login with default username `user` and the default password `P4ssw0rd` with the host computer as URL/IP, autodiscovery of both the host and the share was tested working on Windows and a Samsung Tablet.
- alias `sambastop`: (¡requires Docker!) when you're finished, this command stops and removes the samba container.
- alias `termbin`: (¡requires Netcat!) use when piping a cat/echo/file/etc to upload to termbin.com
## Modular sourcing mechanism
Create a file in your home directory called `~/.bash_sources`, and put a script path on every line of this file, it will be sourced automatically.<br>
WARNING: it has to be a full path, for example `/path/to/script.sh` and not abbreviated (as in `~/script.sh`)... idk bash decided like so.<br>
WARNING 2: every line needs to be a path to a file, not a direct command, sourcing a file is possible; souring an "export" or a function... not so much!
#### For example:
`/home/user/.bash_sources`:
```bash
/home/user/.bash_path
/path/to/some/other/script.sh
```
`/home/user/.bash_path`:
```bash
export PATH=~/bin/myproject/bin:$PATH
```

View File

@ -1,4 +1,15 @@
# Source all the overrides in this folder
for source in $(find "$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd)" -type f | grep -Ev "_all|terminal_fancyfying"); do
. "${source}"
done
. "$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &> /dev/null && pwd)/terminal_fancyfying_${TERMINAL_FANCYFY}"
# If the file ~/.bash_sources exist, source every line it contains
if [ -f ~/.bash_sources ]; then
while IFS= read -r line; do
# Skip empty lines and comments (#)
if [ -n "$line" ] && ! [[ "$line" == \#* ]]; then
. "$line"
fi
done < ~/.bash_sources
fi