If conditional


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting If conditional
# 1  
Old 10-31-2008
If conditional

Hi,

I am new to unix and shell scripting.In my script,there is a line using the "if" conditional -

if [$x != "," ] && [$x != ","]; then
do something

Here "x" is a variable holding string value.If it is not equal to a comma or a string,only then I want to enter the "if" loop. But I am getting error while running this. The error says - " != Expecting unary operator" . Please let me know what is wrong and how to correct it.
# 2  
Old 10-31-2008
You should protect your variables with quotes, and also you need spaces around the [ and ] characters, e.g.

Code:
if [ "$x" != "a_string" ] && [ "$x" != "," ]; then
    #do something
fi

# 3  
Old 10-31-2008
Please help me.
# 4  
Old 10-31-2008
Thanks a lot Annihilanic. It is working now.
# 5  
Old 10-31-2008
In addition you should use double brackets:
Code:
if [[ "$x" != "a_string" ]] && [[ "$x" != "," ]]; then
    #do something
fi

While the inner closing and opening brackets I marked bold can be left away.

Also you can use the advanced search function of the forum and search thread titles with "if condition" and gets of examples, solutions and further explanations.
# 6  
Old 10-31-2008
Quote:
Originally Posted by zaxxon
In addition you should use double brackets:
Depends on the shell though, if it's plain-old-Bourne-shell or the script needs to be very portable single brackets are still useful...

With that in mind it could also be improved like this:

Code:
if [ "$x" != "a_string" -a "$x" != "," ]; then

# 7  
Old 10-31-2008
There is one more question. I have a string(suppose $str). If it starts with a comma(there can be more than one comma at the start),I have to remove all the commas from the beginning.So i have to check if the string starts with a comma.If it does,I have to delete all the commas which are at the start of the string.Please help.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Conditional OR in shell

Hi I have been trying to write a simple code: if ] || ] then echo "Log Directory is not empty, we will continue with archive operation" else echo "Log Directory is empty, Exiting......." exit 1 fi It never checks for the second OR condition i.e. ] Could you please help? Thanks (8 Replies)
Discussion started by: ankur328
8 Replies

2. UNIX for Dummies Questions & Answers

Conditional Script

Hi, I have a script file which has some simple commands. I want these commands to be executed based on the input. Ia m good with IF statement also. At the end it has to be based on incoming value. Example CASE 1 : Execute some commands where Input value as 1 CASE 2 : Execute... (5 Replies)
Discussion started by: vrupatel
5 Replies

3. Shell Programming and Scripting

Conditional execution

Here's an interesting (to me, anyway) little puzzle. Background: I have a process that restores a number of large(ish) files from tape backup. As an individual file is being written, it is owned by root, then the ownership is changed when that file is complete. Since this process can take... (3 Replies)
Discussion started by: edstevens
3 Replies

4. Shell Programming and Scripting

Conditional awk

Hello All, I have a file like this: bash-3.00$ cat 1.txt 201112091147|0|1359331220|1025 201112091147|0|1359331088|1024 201112091144|0|1359331172|1025 201112091147|0|1359331220|1021 201112091149|0|1359331088|1027 201112091144|0|1359331172|1029 and a list of MSISDNs in another file... (9 Replies)
Discussion started by: EAGL€
9 Replies

5. Shell Programming and Scripting

conditional confusion

Hell Unix.com Community: I am working on a personal project using yad v0.12.4 (zenity fork) and have hit a wall on how to show a progress bar while my function is processing. I have been all over the ABS Guide, googled 21 Linux-specific sites that I revere. I even asked on the yad-common... (4 Replies)
Discussion started by: Habitual
4 Replies

6. Shell Programming and Scripting

conditional statement

Hi all, The following code is to find if a list of numbers from one file are within the range in another file. awk -F, '\ BEGIN { while ((getline < "file2") > 0) file2=$3 } {for (col1 in file2) if ($0>=30 && $1<=45) print $0} ' FILE1 But where I have the number 30 and 45, I... (3 Replies)
Discussion started by: dr_sabz
3 Replies

7. Shell Programming and Scripting

conditional extracting

Hi, I need to extract lines based on some conditions as explained below: File format details: 1. each set starts with AAA only 2. number of columns is fixed 3. number of rows per set may vary (as one set is upto DDD - 4 rows) Now, i need to extract only the lines starting with AAA and... (2 Replies)
Discussion started by: prvnrk
2 Replies

8. UNIX for Dummies Questions & Answers

If conditional

Hi, I am new to unix and shell scripting.In my script,there is a line using the "if" conditional - if && ; then do something Here "x" is a variable holding string value.If it is not equal to a comma or a string,only then I want to enter the "if" loop. But I am getting error while... (1 Reply)
Discussion started by: abhinavsinha
1 Replies

9. UNIX for Dummies Questions & Answers

conditional

conditional is not wworking can any one figure out what goes wrong xx1=`$ORACLE_HOME/bin/sqlplus -s apps/ostgapps1 2>/dev/null << EOF WHENEVER SQLERROR EXIT 1 set head off feedback off ; WHENEVER SQLERROR EXIT SQL.SQLCODE; select count(*) from CMS_INVOICE_ALL... (2 Replies)
Discussion started by: u263066
2 Replies

10. Shell Programming and Scripting

Awk Conditional

Hi Guys, i have this files: xyz20080716.log opqrs20080716.log abcdef20080716.log xyz20080717.log oprs20080717.log abcde20080717.log currentdate: 20080717.log I want to make script to zip the file for past day. Can anyone help for this? i've just learn awk scripting & still confused with... (3 Replies)
Discussion started by: icy_blu_blu
3 Replies
Login or Register to Ask a Question