Hacker Public Radio

HPR2349: Customizing my bash prompt


Listen Later

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
...more
View all episodesView all episodes
Download on the App Store

Hacker Public RadioBy Hacker Public Radio

  • 4.2
  • 4.2
  • 4.2
  • 4.2
  • 4.2

4.2

34 ratings


More shows like Hacker Public Radio

View all
The Infinite Monkey Cage by BBC Radio 4

The Infinite Monkey Cage

1,952 Listeners

Click Here by Recorded Future News

Click Here

418 Listeners

Hacker And The Fed by Chris Tarbell & Hector Monsegur

Hacker And The Fed

168 Listeners