.bashrc Do's and Don'ts: Difference between revisions
Jump to navigation
Jump to search
K Siegmund (talk | contribs) No edit summary |
H Winkhardt (talk | contribs) m (Tippfehler) |
||
Line 1: | Line 1: | ||
.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. |
.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 by adding lines to these files, but you can also make mistakes that make your life or the life of the cluster teams harder. |
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. |
||
== |
== Dont's == |
||
* don't forget to test your changes before you log out |
* don't forget to test your changes before you log out |
||
* don't put <code> module load </code> commands in .bashrc, modules may make changes that break the default system environment |
* don't put <code> module load </code> commands in .bashrc, modules may make changes that break the default system environment |
||
* don't put LD_PRELOAD or LIBRARY_PATH in your .bashrc |
* don't put LD_PRELOAD or LIBRARY_PATH in your .bashrc, unless you know exactly what you're doing |
||
* |
* |
||
Latest revision as of 15:53, 8 October 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.
Dont's
- don't forget to test your changes before you log out
- 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
- 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