.bashrc Do's and Don'ts: Difference between revisions
Jump to navigation
Jump to search
K Siegmund (talk | contribs) m (→Dont's) |
K Siegmund (talk | contribs) No edit summary |
||
Line 26: | Line 26: | ||
HISTIGNORE="?:??" # dont store one and two letter commands |
HISTIGNORE="?:??" # dont store one and two letter commands |
||
</syntaxhighlight> |
</syntaxhighlight> |
||
== Autoedits / Conda == |
|||
There is some software (e.g. conda) which automatically modifies .bashrc. Make sure to have a copy of your .bashrc and test after installing software like this |
Revision as of 11:15, 5 November 2024
.bashrc and .profiles are files that are sourced when you log in, they set some important variables that make your shell function at a specific site setup.
You can add commands that you want to run every time at login and when starting a job by adding lines to these files, but you can also make mistakes that make your life or the life of the cluster teams harder.
Don'ts
- don't forget to test your changes before you log out (log in on a second shell)
- don't put
module load
commands in .bashrc, modules may make changes that break the default system environment - don't put LD_PRELOAD or LIBRARY_PATH in your .bashrc, unless you know exactly what you're doing
Do's
- make a copy of your .bashrc before making large changes
- test your changes to .bashrc before you log out
- add command aliases or bash functions in .bashrc - example:
alias l='ls -la'
- add a local ~/bin or similar to $PATH if needed
- improve your terminal command history experience:
shopt -s histappend # append to the history file, don't overwrite it
shopt -s direxpand # expand dirs before trying to expand filenames
HISTSIZE=1000000 # number of commands stored in one terminal session
HISTFILESIZE=20000000 # number of commmands stored in file
HISTFILE="$HOME"/.bash_history_$USER # prevent file truncation by bash sessions that did not read in .bashrc
PROMPT_COMMAND="history -a" # save history after every command
HISTCONTROL=ignoreboth:erasedups # dont store duplicates and ignore lines starting with white space
HISTIGNORE="?:??" # dont store one and two letter commands
Autoedits / Conda
There is some software (e.g. conda) which automatically modifies .bashrc. Make sure to have a copy of your .bashrc and test after installing software like this