| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
.local.bashrc files that are sourced in a clean bash process when entering the directory.
Replaces the projector project.
A quick setup script.
curl 'https://raw.githubusercontent.com/bas080/dotlocaldotbashrc/master/dotlocaldotbashrc' > "$HOME/.dotlocaldotbashrc" &&
echo 'source "$HOME/.dotlocaldotbashrc"' >> ~/.bashrcAfter re-sourcing your .bashrc you can create a .local.bashrc in a directory where you would like a local bashrc by running dotlocaldotbashrc init.
Optionally you can show which local bashrc is currently active in your prompt.
# What I use:
PS1="${BASHRC_HOME#$HOME/}:\W "
# Looks like this:
projects/dotlocaldotbashrc:dotlocaldotbashrc cd ../█When using in repositores consider adding .local.* to your .gitignore.
Quick start:
dotlocaldotbashrc [<subcommand>]
Create and configure directory specific bash sessions.
Will source .local.bashrc when no subcommand is defined.
[subcommand]
init - Create a .local.bashrc in current directory.
edit - Opens the bashrc in $EDITOR and re-sources on exit.
More information:
$ cd projects/bashrc/ dotlocaldotbashrc: open /home/user/projects/bashrc $ cd nested/ dotlocaldotbashrc: exit /home/user/projects/bashrc dotlocaldotbashrc: open /home/user/projects/bashrc/nested $ cd dotlocaldotbashrc: exit /home/user/projects/bashrc/nested $
Notice that navigating to the home directory resulted in only a bashrc bash session being exited. We just use the initial bash process that was started when bashrc and the rest of the interactive shell was bootstrapped.
You can source the local .local.bashrc at anytime with dotlocaldotbashrc function.
$ dotlocaldotbashrc
bashrc: source '/home/user/.local.bashrc'
$You can quickly edit and automatically source after editor quit with dotlocaldotbashrc edit.
One notable feature of dotlocaldotbashrc is its behavior when background jobs are active. When attempting to exit the dotlocaldotbashrc session using the cd command or when explicitly running the dotlocaldotbashrc command with the exit option, the script checks for any background jobs in the current session.
If there are background jobs running, the script will display an error message and refrain from exiting the session. This behavior ensures that you don't unintentionally lose work by exiting a session with active background jobs.
$ cd projects/myproject/
dotlocaldotbashrc: open /home/user/projects/myproject
# Start a background job
$ sleep 300 & # ctrl-z
[1] 12345
# Attempt to exit the dotlocaldotbashrc session
$ cd ..
dotlocaldotbashrc: error: will not exit with jobs in the background.How to run the tests:
SPAT_SHELL='bash' spat ./dotlocaldotbashrc.tUses spat to run expect tests.
GPLv3
| Back | FazBrowse Home | New Git URL |