HPR2349: Customizing my bash prompt




Hacker Public Radio show

Summary: Basic bash prompt information Variables and files .bashrc: the RC file where all of this stuff can be set PS1: main prompt variable PS2: continuation prompt PROMPT_COMMAND: a bash function name, run every time prompt is displayed Colors Uses escape sequences There are problems with prompts and escape sequences Multiple escaping String interpretation and variable expansion tput to the rescue! Takes away the need for complex escape codes Must run tput init at the beginning of your .bashrc file TL;DR: Use tput for color strings, add them at the last possible moment, with brackets and backslashes Embedding bash scripts Single quotes are king Will be run every time PS1 is evaluated Otherwise, only run at time of assignment Layout of my prompt Two lines Information/status line Prompt line Status line Starts with current username Changes color when user has mail Next is the hostname (truncated) Separated by an @ symbol, like an email address Changes color when the system is in need of a reboot Checks for /run/reboot_required Current directory Separated from previous items by a pipe Truncated with a tilde if user's home is in the path Prepended with a number indicating the directory stack, if present Appended with the git (±) symbol if we're in a git branch, followed by the name of the branch Prompt line A blue » character Prepended with the number of background processes spawned from this terminal Screenshot: Link to Git Repository https://gitlab.com/windigo-configs/bash.git Editor's Note: added 2017-08-05