Append Status to echo'd line after process completes

Hello All,

I'm very new to scripting and I'm writing a very simple script to restart a couple processes because I'm getting to lazy to cd between directories.

This is pretty much my first script and I just want to add a little cosmetics to it.

Here's what I have:

#!/bin/ksh
echo 'Stopping digital processes...'
/usr/local/xgate.ment/xgate.ment stop
/usr/local/xgate.liver/xgate.liver stop

echo 'Starting digital processes...'
/usr/local/xgate.ment/xgate.ment start
/usr/local/xgate.liver/xgate.liver start

point xgate

I'd like to add something that will append the word "Stopped" to 'Stopping digital processes...', when the two processes are stopped, but display it on the same line, so I don't have two lines like the following:

Stopping digital processes...
Stopping digital processes...Stopped

Is there a way to do this.

You can use

#!/bin/ksh
echo -n 'Stopping digital processes...'
/usr/local/xgate.ment/xgate.ment stop
/usr/local/xgate.liver/xgate.liver stop
echo stopped
echo -n 'Starting digital processes...'
/usr/local/xgate.ment/xgate.ment start
/usr/local/xgate.liver/xgate.liver start
echo stopped

point xgate

If the programs produce output You may want to do something like
/usr/local/xgate.ment/xgate.ment stop &> error.log
if You are sure that it will stop and output isn't interesting or read return value and act upon, such as

/usr/local/xgate.ment/xgate.ment stop &> error.log
if [ $? -eq 0 ] ; then echo stopped; else echo Something went wrong, read error.log;fi

or something like that?

/Lakris

Ok, I've changed the script like you have shown and my script now looks like:

#!/bin/ksh
echo -n 'Stopping digital processes...'
#/usr/local/xgate.ment/xgate.ment stop
#/usr/local/xgate.liver/xgate.liver stop
echo Stopped

echo -n 'Starting digital processes...'
#/usr/local/xgate.ment/xgate.ment start
#/usr/local/xgate.liver/xgate.liver start
echo Stopped

This is the output I get:

aaawcny:/home/itmike/scripts # ./digital.restart
-n Stopping digital processes...
Stopped
-n Starting digital processes...
Stopped

It's close but I'd like to have "Stopped" appended to the original, like this:
"Starting digital processes...Stopped"

Rather than underneath it. Is that possible without too much work?

Also, what does the -n argument do with echo? It doesn't seem to do anything as it printed to the terminal.

It should produce the output without a linefeed. What shell are You using?

sorry ksh i guess, well... it should work!

echo 'Stopping digital processes...\c'
/usr/local/xgate.ment/xgate.ment stop
echo 'Stopped'

Looks like I'm all set now. I used what shamrock showed and it's working now.

Thanks for the help guys!