From: thomasriise on
Hi guys,

Why doesn't this work for me:

#!/bin/ksh

stamp=`eval `echo date "+%d-%m-%y @ %T"``

echo $stamp
sleep 2
echo $stamp
sleep 2
echo $stamp
sleep 2
echo $stamp
sleep 2

?

How can I write a timestamp as a variable on one line?

Thanks.

From: martin.witte@gmail.com on

thomasriise wrote:
> Hi guys,
>
> Why doesn't this work for me:
>
> #!/bin/ksh
>
> stamp=`eval `echo date "+%d-%m-%y @ %T"``
>
> echo $stamp
> sleep 2
> echo $stamp
> sleep 2
> echo $stamp
> sleep 2
> echo $stamp
> sleep 2
>
> ?
>
> How can I write a timestamp as a variable on one line?
>
> Thanks.

I guess you want to do something like:

for i in 1 2 3
do
stamp=`date "+%d-%m-%y @ %T"`
echo $stamp
sleep 2
done

that gives

01-09-06 @ 14:04:12
01-09-06 @ 14:04:14
01-09-06 @ 14:04:16

Why do you want to use the detour with eval and echo?

From: thomasriise on
> I guess you want to do something like:
>
> for i in 1 2 3
> do
> stamp=`date "+%d-%m-%y @ %T"`
> echo $stamp
> sleep 2
> done
>
> that gives
>
> 01-09-06 @ 14:04:12
> 01-09-06 @ 14:04:14
> 01-09-06 @ 14:04:16
>
> Why do you want to use the detour with eval and echo?

- not quite. I want to be able to echo in my script, e.g.:

echo "Program started $stamp"
and
echo "Program ended $stamp"

From: PDreyer on

thomasriise wrote:
> Hi guys,
>
> Why doesn't this work for me:
>
> #!/bin/ksh
>
> stamp=`eval `echo date "+%d-%m-%y @ %T"``
>
> echo $stamp
> sleep 2
> echo $stamp
> sleep 2
> echo $stamp
> sleep 2
> echo $stamp
> sleep 2
>
> ?
>
> How can I write a timestamp as a variable on one line?
>
> Thanks.

stamp='`date "+%d-%m-%y @ %T"`'
echo $(stamp)
sleep 2
echo $(stamp)
01-09-06 @ 14:40:54
01-09-06 @ 14:40:56

From: PDreyer on

PDreyer wrote:
> thomasriise wrote:
> > Hi guys,
> >
> > Why doesn't this work for me:
> >
> > #!/bin/ksh
> >
> > stamp=`eval `echo date "+%d-%m-%y @ %T"``
> >
> > echo $stamp
> > sleep 2
> > echo $stamp
> > sleep 2
> > echo $stamp
> > sleep 2
> > echo $stamp
> > sleep 2
> >
> > ?
> >
> > How can I write a timestamp as a variable on one line?
> >
> > Thanks.
>
> stamp='`date "+%d-%m-%y @ %T"`'
> echo $(stamp)
> sleep 2
> echo $(stamp)
> 01-09-06 @ 14:40:54
> 01-09-06 @ 14:40:56

Corrected:
x='eval date "+%d-%m-%y @ %T"'
for i in 1 2 3
do
echo $($x)
sleep 2
done
01-09-06 @ 14:23:52
01-09-06 @ 14:23:54
01-09-06 @ 14:23:56

for i in 1 2 3
do
echo `$x`
sleep 2
done
01-09-06 @ 14:24:59
01-09-06 @ 14:25:01
01-09-06 @ 14:25:03


stamp() { date "+%d-%m-%y @ %T";}
for i in 1 2 3
do
echo $(stamp)
sleep 2
done
01-09-06 @ 14:26:38
01-09-06 @ 14:26:40
01-09-06 @ 14:26:42