I am creating a .bash_profile
script, and I have run into a small problem.
Here is a snippet of my code:
echo -n "Welcome "
whoami
echo -n "!"
I would like the output to give something like this:
Welcome jsmith!
... instead of this:
Welcome jsmith
!
How can I get all of this onto one line?
Any help is greatly appreciated. If it helps, I'm using the Bash Shell, on Ubuntu Server 10.04 LTS.
You can insert $(command)
(new style) or `command`
(old style) to insert the output of a command into a double-quoted string.
echo "Welcome $(whoami)!"
Note: In a script this will work fine. If you try it at an interactive command line the final !
may cause you trouble as !
triggers history expansion.
Command Substitution
Command substitution allows the output of a command to replace the command name. There are two forms:
$(command)
or
`command`
Bash performs the expansion by executing command and replacing the command substitution with the standard output of the command, with any trailing newlines deleted [emphasis added].