How to: Add or display today’s date from a shell script

by on January 28, 2006 · 12 comments· LAST UPDATED November 29, 2007

in , ,

Q. How can I display or show today's UNIX computer date from a shell script using echo command? How do I store date command output to a variable?

A. Date command is use to print or set the system date and time under Linux/Unix like operating systems. However some time you need to include today's date in shell script. You need to use command substitution in your shell script to display today's date. Bash/sh shell performs the expansion by executing command and replacing the command substitution with the standard output
of the command, with any trailing newlines deleted. Command substitution allows the output of a command to replace the command name. You can use following syntax:

$(command)
OR
`command`
For example, type the following at shell prompt to display today's date:
$ echo "Today is $(date)"
Output:

Today is Sat Jan 28 15:48:11 IST 2006

Here is sample script, that stores today's date in TODAY and hostname in HOST variable:

#!/bin/bash
TODAY=$(date)
HOST=$(hostname)
echo "-----------------------------------------------------"
echo "Date: $TODAY                     Host:$HOST"
echo "-----------------------------------------------------"
# add rest code...

Save above script and execute it. See working shell script that notify admin user if Linux/FreeBSD system load crossed certain limit

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

{ 12 comments… read them below or add one }

1 Esteve October 21, 2008 at 3:45 pm

Thanks a lot!! XD

Reply

2 J November 6, 2008 at 1:25 pm

I have a question in regards to creating a bash shell script using the date command to calculate someones’ age. The user provides the script with the month and year in which they were born, but i am having trouble figuring out how to use the date command with the user input to calculate age. Any info in regards to this matter would be greatly appreciated. Thanks

Reply

3 Akshay February 25, 2009 at 9:35 am

How to check the pervious date in unix.

for eg today is 25th Feb and i want to print 24th Feb

Reply

4 web-design-dude July 24, 2009 at 12:54 pm

Ive just used this on a debian (Ubuntu 8.x) server and had to use $DATE=’date’ instead of (date).

Is this because of Debian/Ubuntu or due to me using #!/bin/sh rather than #!/bin/bash as bad habit.

Thanks
Lien

Reply

5 bobby June 19, 2010 at 2:57 pm

how can i display the date by using shell programming in the UNIX with out using date command ?

Reply

6 Nick Johnson October 18, 2010 at 11:11 pm

sweetness! just helped me add the date command to my backup script!

Reply

7 vadivel.c November 23, 2010 at 9:40 am

How to check the pervious date in shell script.

Reply

8 Pratik Parmar September 19, 2011 at 7:36 am

Thank you very much. Really your website is very helpful to me.

Reply

9 Long T January 13, 2012 at 6:52 pm

Please help. I plan to create the shell scripts that it gives me the date in this format like 2012-01-13. Due i need to move some files from /abc/defg/*.c to /z/abc/2012-01-13. The folder of 2012-01-13 will be change every day and depends on which day I run the scripts. I want to set up as cronjob. Thank in advance

Reply

10 Abhishek July 1, 2012 at 4:56 pm

@web-design-dude #!/bin/sh is fine it works in my ubuntu…. what u need to do is declare variable and then assign the value :
$DATE
DATE=(date)
this works perfectly fine

Reply

11 john August 14, 2012 at 7:26 am

Can you help me with creating a script that reads the system time and if its before noon the it prints a message saying its the morning and its after noon it says its afternoon etc..

Reply

12 Tris November 3, 2012 at 7:50 am

Hey John

Try

#! /bin/sh
#Script to check if noon has passed
hour=`date +%k`
if [ $hour -gt 12 ]
then time="Afternoon"
else time="Morning"
fi
echo "It is about $hour o'clock"
echo "It is $time"

Reply

Leave a Comment

Tagged as: , , , , , , , , , , , , , ,

Previous Faq:

Next Faq: