Add A Random Quote Every time You Open A Terminal Window
This is the code I put into my
~/.zshrc file to pull a random quote at the top of my terminal each time I open a new one.
if [ "$(tput cols)" -gt 65 ]; then sort -R "/path/to/quotes.txt" | \ head -1 | \ sed 's/--/\n --/' | \ sed 's/$/\n/' | \ fold -w 64 -s else sort -R "/path/to/quotes.txt" | \ head -1 | \ sed 's/--/\n --/' | \ sed 's/$/\n/' fi
sort -R FILENAME randomized the lines in the file and sends them to STDOUT which pipes to:
head -1 which grabs the first line from the randomized set which pipes to
sed things which split the line out to separate the quote from the author and then add extra line spacing
And then if there are more than 65 columns (as determine by
if [ "$(tput cols)" -gt 65 ]) then things are piped to:
fold -w 64 -s
which wraps lines at 64 characters
The other thing I do is drop an empty file at
~/.hushlogin which prevents the message of the day from showing up. That way the only thing that shows in the quote.
Quotes are in the format:
Curiouser and curiouser! -- Alice The death of an old person is like the burning of a library. -- Traditional Thank you for your patience during this emergency. -- Tech Support