Hacker
Public
Radio
Your ideas, projects, opinions - podcasted.
New episodes Monday through Friday.
Hosted by
Windigo
on 2017-08-03 00:00:00
- 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
Editor's Note: added 2017-08-05
More Information...
Copyright Information
Unless otherwise stated, our shows are released under a Creative Commons
Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) license.
The HPR Website Design is released to the Public Domain.