I wish to display a cowsay
message in every terminal window. The command I use is
fortune | cowsay
Any ideas how to make it appear whenever I start a new terminal session?
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It only takes a minute to sign up.
Sign up to join this communityOpen the file ~/.bashrc
(or /etc/bash.bashrc
if it should work globally for all users).
Add the following at the bottom of the file:
if [ -x /usr/games/cowsay -a -x /usr/games/fortune ]; then
fortune | cowsay
fi
test
program see its man page: man test
([ ... ]
is short for test ...
).
clear
and then the above command to the end .profile
file as that is what is called on logins.
Dec 17, 2020 at 7:06
BONUS: If you're using bash
you can make a ~/.bash_logout
file and it will execute that when you log out. Make sure to have it sleep for a second or so, or you'll never see it.
cowsay "See you later"; sleep 1
I would consider setting a limit to the size of the fortune command requested.
fortune -s | cowsay
This will produce at most 160 characters. This is a good size for a greeting, anything more than that and long fortunes will flood your terminal.
I use
fortune | cowsay -f `ls -1 /usr/share/cowsay/cows/ | sort -R | head -1` -n
This will display a random fortune using a random 'cow'. There's probably a better way to get a random 'cow', but this works for me just fine.
fortune | cowsay -f `ls -1 /usr/local/Cellar/cowsay/3.04/share/cows/*.cow | sort | head -1` -n
Better you use .bash_profile because .bashrc is also executed at commands like scp and they will fail silently if there is any output
I found a nice script on pastebin. currently using it.
I am using
cowsay Welcome to Bash Shell
in .bashrc.
This will be prompt every time when you open the terminal.