[: =: unary operator expected error


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers [: =: unary operator expected error
# 22  
Old 12-11-2010
I updated the script again, hopefully correcting the errors that everyone pointed out, but it still gives me an error, this time only 1, not 2. Any other suggestions?
# 23  
Old 12-11-2010
If you got an error message, please post what you typed and the error message verbatim.

There are still some dubious lines in the script. The main theme is to always put quotes round character variables whether we strictly need them or not.
Let's look at the variable $datetime. In my timezone this ends up containing space characters.
Code:
datetime=`date +%c_%p`
echo $datetime
Sun Dec 12 01:29:52 2010_AM

Therefore this later line will misbehave:
Code:
cp fhosts $datetime-backup-fhosts # rename process
Should be
cp fhosts "$datetime-backup-fhosts" # rename process

There are more places where character variables need quotes.
if [ "$answer" = "y" ]; then
if [ "$hosta" = "n" ]; then
if [ "$answer" = "n" ]; then

Hmm. I have just noticed that most of this correction was suggested by Radoulov in Post #2 .


Important note. When I copy/paste the amended script from post #1 into M$ notepad I get many lines with a single double quote where I would expect the quotes to be at the end of a preceding string. This may be an issue with the posting method but I do start to wonder about the format of the shellscript file and what editor was used to produce that file.

Please post the output from the following "sed" command. It does not change the file and is just designed to make line terminators visible.
Code:
sed -n l scriptname


Last edited by methyl; 12-11-2010 at 10:37 PM.. Reason: Hmm ...
# 24  
Old 12-12-2010
Quote:
Quote:
I see you (or someone else that uses the same nick) have a project on Sourceforge with that script.
First I would like to ask, are you sure this is legal? I mean removing ads from apps?
Nope that project is NOT MINE.

But I did hear that it is legal since Source Forge checks the project out, before accepting the program into their website. They let him in!
Humm same handle as the sole project admin on SourceForge, approximately same date of project creation as when you joined this forum, same email address, would strongly suggest that mbf123 on sourceforge and you are one and the same person.

Perhaps you would care to revise your previous statement?

And, no, SourceForge does not check projects out in any detail unless somebody makes a complaint.
# 25  
Old 12-12-2010
Unfortunately, because it is an iphone i cannot copy the sed results, but no error's came up, if that's what your asking.

I will try to quote the datetime variable.

I still think think it has something to do with the if then statements.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Unary operator expected

In all my Googling, this usually happens when someone is comparing a variable, and that variable is unset. That doesn't appear to be the case for me... #!/bin/bash -x while read line do f=$(echo $line | tr -s ' ' | cut -d' ' -f 3) echo $f if then echo "This... (2 Replies)
Discussion started by: jnojr
2 Replies

2. Shell Programming and Scripting

unary operator expected, if condition test error.

Hi All, I'm assigning a numeric value to variable count=2, well its being assigned by code above the if condition. I want to test for 2 conditions , when $count = 0 or $count <=2 and do something when the condition matches. here is my code, but i run into the infamous : if ] then ... (2 Replies)
Discussion started by: Irishboy24
2 Replies

3. UNIX for Dummies Questions & Answers

[: -gt: unary operator expected

Hi I have problem with my script. I dont now why but i don't change anything and script stop working. this is my code: #!/bin/sh for i in `ps -A | grep pocron.sh | grep -v grep | awk '{print $2}'` do COUNT=$((COUNT+1)) done ostatnie_wykonanie=`cat porader.log`... (1 Reply)
Discussion started by: fotex
1 Replies

4. UNIX for Dummies Questions & Answers

: unary operator expected

Hiya all, Why do I get a :unary operator expected when I try to put a condition statement in my shell script (sh) like so and how to fix? if ; then echo "say hello" else echo "don't say hello" fi ? It seems if the script receives an argument it works but if I don't put an... (4 Replies)
Discussion started by: cyberfrog
4 Replies

5. Shell Programming and Scripting

unary operator expected

i=0 while Shell script reports an error "unary operator expected" pointing the above line. $i by default is 0 and holds integer value and $buf is also holding integer value. Please can some one let me know what is missing. Thanks. (1 Reply)
Discussion started by: sunrexstar
1 Replies

6. UNIX for Dummies Questions & Answers

Error : -ne: unary operator expected

find . -name "*.*"|xargs grep WT:DBF_WL>> $F Wfexist=`cat $F|grep $i` echo $Wfexist if ; then echo $Wfexist echo "Workflow Exist" else touch $O chmod 777 $O echo $Wfexist echo $WfExist >> $O fi I am getting the error that -ne: unary operator expected in the line with red... (2 Replies)
Discussion started by: ritu.s
2 Replies

7. Shell Programming and Scripting

unary operator expected

Im trying to fix my /etc/weekly that rotates various logs however it does them no matter what filesize they are and i want them to only do it if there file size exceeds 2M or something. So I'm playing with a script to get the filesize using a ls -l command which works and puts the value into a... (3 Replies)
Discussion started by: timgolding
3 Replies

8. UNIX for Dummies Questions & Answers

[: =: unary operator expected

HI, while running a script, I got the below mentioned error. /bin/sh: line10 : supportedMozillaVersion() { case "$*" in *rv:1.*) return 0;; *rv:.*) return 0;; *rv:*) return 1;; Mozilla\ 1.*) return 0;; Mozilla\ .*) return 0;; *) return 1;; esac } supportedFirefoxVersion() { case... (7 Replies)
Discussion started by: bhag281
7 Replies

9. Shell Programming and Scripting

unary operator expected

hi i am trying to compare a value with value 50. but i am getting " I am using if then echo "------------" fi please help thanks in advance Satya (2 Replies)
Discussion started by: Satyak
2 Replies

10. UNIX for Dummies Questions & Answers

unary operator expected error

Hi I am doing a script like if then echo "table name dosent exist" exit fi the problem is if $table_name is null then i am getting the error Please help me Thanks in advance (2 Replies)
Discussion started by: ssuresh1999
2 Replies
Login or Register to Ask a Question