Shell Command / Script To Write Simple Output On Screen Under Linux and UNIX

by on February 6, 2007 · 8 comments· LAST UPDATED October 31, 2012

in , ,

How do I simply write output from my shell script to the screen under Unix / Linux BASH shell?

Most modern shell such as bash, ksh and others comes with the echo and print in built commands. There is also printf (C like statement) command to format and display data on screen

Tutorial details
DifficultyEasy (rss)
Root privilegesNo
RequirementsNone
Estimated completion timeN/A

echo command

All the parameters to the echo command are printed to the screen. For example:
echo "Hello World!"

You can add echo command to your shell script:

 
#!/bin/bash
echo "Memory information"
free -m
echo "Disk information"
df -h

printf command

You can also use printf command as follows
printf "Hello world\n"
Or use in a script as follows:

 
#!/bin/bash
print "Memory information\n"
free -m
printf "Disk information\n"
df -h

Where,

  • -n : It is a FORMAT controls the output as in C printf. \n is use to print new line.

More options

You can print a variable value with echo or printf command. First define a variable called DDAY:
DDAY="15-Aug-2007"
Now print a variable using echo command:
echo "$DDAY"
Output:

15-Aug-2007

Now print a variable using echo command:
printf "$DDAY\n"
Output:

15-Aug-2007

You can combine a shell variable with statements or command itself:

#!/bin/bash
DDAY="15-aug-2007"
echo "D-Day is on $DDAY"
echo "Today is $(date)"
echo "Linux version : $(uname -r)"

$(uname -r) and/or $(date) are examples of command substitution. It allows the output of a command to replace the command name. The syntax comes in two different forms:

$(command-name)

OR

`command-name`

Preserving white spacing (blank space)

When you want the output to preserve your spacing enclose output in double quote:
$ echo "This is a test and today is $(date)"
Do not use single quote for command substitution:
$ echo 'This is a test and today is $(date)'
Sample outputs:

This is a test and today is $(date)

For more information read man page of printf and echo by typing the following commands:
$ man echo
$ man printf
$ man bash
$ man ksh

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 8 comments… read them below or add one }

1 vivek February 11, 2007 at 6:40 pm

Hi
I was trying for a boot script on fc3 inorder to
play an mp3 file on starting script time .But the GUI
get stucked after logged in . Could you help me.

Reply

2 Lucas August 10, 2007 at 2:25 pm

How can a simple shell interface respont to the following commands
1.Clr-Clear Screen
2.quit-quits the screen
3.echo prints the comments on the screen followed by a new line
4.copy file1.txt,file2.txt.create a copy of file1.txt with a new name file2.txt

Reply

3 somery.van August 19, 2008 at 2:19 am

Hello am very glad that this website so good.
but i want you to do it well

best regard,
somery van

Reply

4 Anonymous July 22, 2009 at 10:32 pm

Is there a way to print the results to screen every second (trying to check disk usage output without having to type df -k each time)

Reply

5 nixCraft July 23, 2009 at 2:07 am

Try the following
watch df -k

Reply

6 ratish singh March 15, 2010 at 12:45 pm

how i can change my date format(dd/mm/yy) in my centos 5.

Reply

7 Nirav August 2, 2010 at 12:06 pm

what is the output of command $ echo *…….please help me out

Thanx in advance….send me results on my email id

Reply

8 Shimon June 15, 2013 at 7:50 pm

Thank you.

Reply

Leave a Comment

Tagged as: , , ,

Previous Faq:

Next Faq: