echo doesn't work right


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting echo doesn't work right
# 15  
Old 03-03-2011
Thats a shame I could duplicate your issue by setting posix mode and xpg_echo:

Code:
$ set -o posix
$ shopt -s xpg_echo
$ echo -e testing
-e testing

Or
Code:
$ bash --posix -O xpg_echo
$ echo -e testing
-e testing

Perhaps your shell was compiled with --enable-strict-posix-default

Last edited by Chubler_XL; 03-03-2011 at 09:44 PM..
# 16  
Old 03-03-2011
Quote:
Originally Posted by Chubler_XL
Thats a shame I could duplicate your issue by setting posix mode and xpg_echo:

Code:
$ set -o posix
$ shopt -s xpg_echo
$ echo -e testing
-e testing

Or
Code:
$ bash --posix -O xpg_echo
$ echo -e testing
-e testing

Perhaps your shell was compiled with --enable-strict-posix-default
I got the same output when I type the code above.
-e testing

And if my shell is using posix by default,when I type
Code:
echo -e

it should print -e ,right?
But it just print a blank line.

By the way,when I want to turn off the posix using set command,what should I type?
# 17  
Old 03-03-2011
Code:
set +0 posix

to turn off

So is it correct that echo -e gives a blank line; but echo -e "Hello,World\a\n" gives:
-e Hello,World
# 18  
Old 03-03-2011
Quote:
Originally Posted by Chubler_XL
Code:
set +0 posix

to turn off

So is it correct that echo -e gives a blank line; but echo -e "Hello,World\a\n" gives:
-e Hello,World
echo -e "Hello,World\a\n" goes right when I type it in my bash,but goes wrong when I add it in my shell script.
# 19  
Old 03-03-2011
Ah does the script have "#!/bin/sh" at the top, cause bash will go into posix mode if it's called with the name sh
# 20  
Old 03-03-2011
Quote:
Originally Posted by Chubler_XL
Ah does the script have "#!/bin/sh" at the top, cause bash will go into posix mode if it's called with the name sh
I use #!/bin/bash in my script.

Plus,
Code:
bash firstscript.sh

output
Hello,World
Code:
sh firstscript.sh

output
-e Hello,World

Last edited by Demon; 03-03-2011 at 11:16 PM..
# 21  
Old 03-04-2011
Quote:
Originally Posted by Demon
I use #!/bin/bash in my script.

Plus,
Code:
bash firstscript.sh

output
Hello,World
Code:
sh firstscript.sh

output
-e Hello,World

When you execute the script with shell command mode ( provide shell name), the shebang is ignored.


sh firstscript.sh, bash firstscript.sh, ksh firstscript.sh will execute the script in Bourne, Bash and Korn shell respectively. No matter what the shebang is.
This User Gave Thanks to clx For This Post:
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