echo doesn't work right


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting echo doesn't work right
# 1  
Old 03-03-2011
Question echo doesn't work right

Hi,when I run my first shell script,I got something that doesn't work right.
I wrote this code in the script.
Code:
echo -e "Hello,World\a\n"

But the screen print like this:

-e Hello,World

The "-e" wasn't supposed to be printed out.
Can anyone help me out?Smilie
Many thanks!Smilie
# 2  
Old 03-03-2011
What shell are you using?
(csh, ksh, bash, etc.)

Type:
Code:
man echo

See if "-e" is part of your "echo" command.
# 3  
Old 03-03-2011
Quote:
Originally Posted by Shell_Life
What shell are you using?
(csh, ksh, bash, etc.)
bash
I typed
Code:
#!/bin/bash

in the script

---------- Post updated at 11:49 AM ---------- Previous update was at 11:43 AM ----------

Quote:
Originally Posted by Shell_Life
What shell are you using?
(csh, ksh, bash, etc.)

Type:
Code:
man echo

See if "-e" is part of your "echo" command.
Yes, in the description it says
-e enable interpretation of backslash escapes
And when I type the command directly in the shell,it work right!
So weird!
# 4  
Old 03-03-2011
More importantly which version of echo are you using
Code:
$  echo -e "cheeses \n\tCashel Blue\n\tRoquefort"
cheeses
        Cashel Blue
        Roquefort
$ which echo
/bin/echo
$ rpm -qf /bin/echo
coreutils-5.2.1-36.el4

In your shell and your script try
Code:
which echo

# 5  
Old 03-03-2011
Mate, try

echo $SHELL

this will give which shell you are in.

Also Try

which bash

this will give the address for bash like "/usr/bin/bash"

add this to the first line of your script with shebang(#!).

In Bash "-e" option with echo should work.
# 6  
Old 03-03-2011
Quote:
Originally Posted by kamalkishore
Mate, try

echo $SHELL

this will give which shell you are in.

Also Try

which bash

this will give the address for bash like "/usr/bin/bash"

add this to the first line of your script with shebang(#!).

In Bash "-e" option with echo should work.

Both of the command return /bin/bash
# 7  
Old 03-03-2011
The reason I suggested
Code:
which echo

was to see if $PATH is different in your shell and your script. (eg you have a PATH setting in your shell which isn't exported to your script) if the command above returns different values for both then call the command in the script using the full path name returned in the shell, where it worked.
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

-ne 0 doesn't work -le does

Hi, I am using korn shell. until ] do echo "\$# = " $# echo "$1" shift done To the above script, I passed 2 parameters and the program control doesn't enter inside "until" loop. If I change it to until ] then it does work. Why numeric comparison is not working with -ne and works... (3 Replies)
Discussion started by: ab_2010
3 Replies

2. Shell Programming and Scripting

Why my awk doesn't work?

root@SDP_Wildcat_Pass-3-C1:~# cat /proc/driver/rtc rtc_time : 05:29:40 rtc_date : 2014-12-19 alrm_time : 01:51:53 alrm_date : 2014-12-20 alarm_IRQ : no alrm_pending : no update IRQ enabled : no periodic IRQ enabled : no periodic IRQ... (4 Replies)
Discussion started by: yanglei_fage
4 Replies

3. UNIX for Dummies Questions & Answers

Why doesn't this work?

find . -name "05_scripts" -type d -exec mv -f {}/'*.aep\ Logs' {}/.LogFiles \; Returns this failure: mv: rename ./019_0120_WS_WH_gate_insideTEST/05_scripts/*.aep\ Logs to ./019_0120_WS_WH_gate_insideTEST/05_scripts/.LogFiles/*.aep\ Logs: No such file or directory I don't know why it's trying... (4 Replies)
Discussion started by: scribling
4 Replies

4. Shell Programming and Scripting

shell script, echo doesn't work

#!/bin/sh something(){ echo "Inside something" echo $1 $2 } val=$(something "Hello " "world") Output expected: Inside somethingHello world But it's not echoing. (4 Replies)
Discussion started by: cola
4 Replies

5. Shell Programming and Scripting

echo $PWD doesn't work

I have entry in the my .profile like below, but still i see $PWD is not defied in my system export PS1=$LOGNAME@`hostname`':'$PWD'>' echo $PWD also gives me nothing, my env list also give no entry for PWD.Can someone help me setting PWD variable. I use /bin/sh (9 Replies)
Discussion started by: yesmani
9 Replies

6. UNIX for Dummies Questions & Answers

echo $PATH doesn't match $HOME/.profile

This is on a Solaris 9 box, but I feel like a noob, so I am posting here. When I echo $PATH I get a lot of duplicate paths and extra stuff I don't need. What I want is just what I set up in my home dir under .profile My login shell=/bin/bash I checked the following and there are no path... (1 Reply)
Discussion started by: Veestan
1 Replies

7. UNIX for Dummies Questions & Answers

Script doesn't work, but commands inside work

Howdie everyone... I have a shell script RemoveFiles.sh Inside this file, it only has two commands as below: rm -f ../../reportToday/temp/* rm -f ../../report/* My problem is that when i execute this script, nothing happened. Files remained unremoved. I don't see any error message as it... (2 Replies)
Discussion started by: cheongww
2 Replies

8. UNIX for Dummies Questions & Answers

bash pattern matching echo *[! '/' ] doesn't work

without using ls, just using echo so purely pattern matching I can say echo */ <-- lists directories but how would I match files? surely something like *!/ or * but neither work ? it seems like there isn't much that I can put in but surely i should be able to put any ascii... (1 Reply)
Discussion started by: james hanley
1 Replies

9. Shell Programming and Scripting

Why doesn't this work?

cat .servers | while read LINE; do ssh jason@$LINE $1 done exit 1 ./command.ksh "ls -l ~jason" Why does this ONLY iterate on the first server in the list? It's not doing the command on all the servers in the list, what am I missing? Thanks! JP (2 Replies)
Discussion started by: jpeery
2 Replies
Login or Register to Ask a Question