while condition with trouble


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting while condition with trouble
# 1  
Old 11-08-2011
while condition with trouble

Hello!
i have a llittle missunderstanding with a script and maybe you can explain where is the mistake.
in the first place a have this script that is working just fine

...
read -p "enter the name of the instance: " instance
while [ -z "$instance" -o -z "`cat /home/oracle/instanta | grep "$instance"`" ];
....
but if i change the second condition with -z "`grep "$instance" /home/oracle/instanta `" then the script will fail! i don't understand why because if a run both conditions in the comand line i get the same result!

the same happens with the first condition : if a change with -z "`echo "$instance`"" the script won't work

what is a little bit strange is that if i create the script with a decisional block, something like this :

if [ -z `echo $instance` ];


....

its working just fine!
i'm really confused

thank you all in advance!
# 2  
Old 11-09-2011
echo will still output a newline even if it has a blank argument:

Code:
 $ echo $ABC123 | od -c
0000000  \n
0000001

Not really sure about the grep + cat issue does it also occur if you use $() instead of backticks? eg -z "$(grep "$instance" /home/oracle/instanta)"
# 3  
Old 11-09-2011
Paste the output of bash -x <your script>
That might give some thing...
BTW, both works fine for me...

--ahamed
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

If condition return 0 even when it fails to satisfy te condition

HI My doubt may be basic one but I need to get it clarified.. When i use "if" condition that checks for many AND, OR logical conditions like if ]; then return 0 fi Even the if condition fails it returns as zero.. Any clue.. But if i add else condition like if ]; ... (2 Replies)
Discussion started by: Priya Amaresh
2 Replies

2. Shell Programming and Scripting

redirect stdout echo command in condition A run in condition B

hi, I have some problems in my simple script about the redirect echo stdout command inside a condition. Why is the echo command inside the elif still execute in the else command Here are my simple script After check on the two diff output the echo stdout redirect is present in two diff... (3 Replies)
Discussion started by: jao_madn
3 Replies

3. HP-UX

Difference between [condition] and [[condition]] and ((condition)) when used with if condition

Executed the following if conditions .. and got different results . only (( )) gave correct o/p with all scenarios . Can anybody please let me know what is the difference between and ] and ((condition)) when used with if condition. And why each condition gave different result. 1.... (2 Replies)
Discussion started by: soumyabubun
2 Replies

4. Programming

Trouble with C

Hey, i am having a problem First, i know java well and i have used C++ on occasion so i thought i would be able to deal with a class where they program in C. unfortunately i have hit some speed bumps that i am having problems. Here is my problem: I have a structure cache_t in the sample... (0 Replies)
Discussion started by: zephoid
0 Replies

5. UNIX for Dummies Questions & Answers

X trouble

Hi there, I'm new to unix-environments. I'm richard, and i'm mostly a web-developer, under php. I've done work in unix env before, but never had my own. Today, I've got debian 3.1 r4 from the official site, and i've attempted to install it twice. I installed it initially as "Desktop... (0 Replies)
Discussion started by: izua
0 Replies

6. Solaris

Trouble with tr

I'm not sure where to post this but it's happening on a SunOS 5.8 server so I'll try here. I've discovered some unexpected behavior when using tr. For example: echo a | tr Z echo b | tr a echo a | tr B echo a | tr B echo a | tr A (8 Replies)
Discussion started by: Mike@Work
8 Replies

7. Shell Programming and Scripting

If condition is -lt than 5 letters trouble.

Hi, In an If condition, how can I specify if the variable are less than 5 letters, echo “error”. Something like this one: echo –n “Your name please: “ read name if ; then Echo “Your name must be at least 5 letters length” exit fi Thanks a lot… (6 Replies)
Discussion started by: TARFU
6 Replies

8. UNIX for Dummies Questions & Answers

The trouble about SU ...

Hi all, having read lots of posts about SU I don't quiet understand this : I'm doing regular backups of my database (u betta do) and therefore use su - username -c "sqlscript special data_base" in a unixscript which is even using cron. (yep!) Now I need some other script, still with this... (4 Replies)
Discussion started by: nulnul7
4 Replies

9. What is on Your Mind?

The trouble with...

Welcome to "The trouble with...." with your host, ZazzyBob. Todays offering - "The trouble with letting other people host your website" I use a certain web hosting service, who shall of course remain nameless here. They are running PHP 4.3.10 I decide to write a script to test their PHP... (6 Replies)
Discussion started by: zazzybob
6 Replies

10. UNIX Desktop Questions & Answers

trouble

Hello, The system reboots in single user mode what command to use to bring the system up regularly?? I get INIT: cannot create /var/adm/utmpx Type control -d to proceede with a normal startup or give root passwd for system maintaince. either way i don't have a change and ... (1 Reply)
Discussion started by: awk
1 Replies
Login or Register to Ask a Question