Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

unary operator expected

Posted on 2000-03-07
14
Medium Priority
?
1,347 Views
Last Modified: 2013-12-15
   I just bought and installed Linux-Mandrake 7.0. The install went fine except I set up the network during install, but none of the settings took, and I had to set it all up later. Now when I boot up I keep getting these assorted messages:
/etc/rc.d/rc5.d/S50network [. [= unary operator expected
    I get this for the /etc/rc.d/rc5.d S**postfix, S**rwhod, S**userd, S**bootparm (**=moves to fast for me to see on boot up)and many others. When I check the /var/log/boot.log I only see the "/etc/rc.d/rc5.d/S30postfix [. [= unary operator expected" message. I don't know much about programming, so I would have no clue what is wrong by looking at the script. Its not just rc5.d, but also /etc/rc.d/rc0.d/ through /etc/rc.d/rc6.d/ (It appears to boot with different ones each time).
    Everything seems to be working GREAT. No problems at all, Just these messages everytime I boot up.
    This is installed on a machine with a Pentium Pro 200 MHZ, 64MB Ram, a 3com combo card, ANything else I could anwser if needed.
0
Comment
Question by:SeanD
  • 5
  • 4
  • 4
  • +1
14 Comments
 
LVL 40

Expert Comment

by:jlevie
ID: 2593989
The "unary operator expected" is the shell saying that it doesn't understand somethhin in the rc?.d files. It just shouldn't happen. It's also odd that the networking set up "didn't take" during the install. My suspicion based on the description is that the install didn't properly complete.

Which model 3com combo have you got?
0
 

Author Comment

by:SeanD
ID: 2594151
I have a 3Com Etherlink III 3C590. The install went through completely. Right down to "Please remove the floppy disk and press OK to restart" or something like that. Everything works fine like I said. The network is working perfectly.
By the way, this is a gateway machine, I'm using it for a Samba server, and IP Masq server, If that makes a difference.
Even though I get these messages, EVERYTHING gets an [ OK ] when booting. Everything is working perfectly.
Sean
0
 
LVL 3

Expert Comment

by:jyu_88
ID: 2594579
you  should be able scroll back by shift +pageUp.

It mainly be caused by a comparison test against a variable, which is NULL or empty for some reason. In shell, it supposed has something like,
[ $VIPvariable = "OK" ] && echo "OK"
However, with $VIPvariable be null, this statement becomes
[ = "OK" ]
.. This will result in complaints you saw.

If you can page up find some  line numbers then you can probably look up in the script and find out which varible is not defined while it is supposed and whatnot.
0
 [eBook] Windows Nano Server

Download this FREE eBook and learn all you need to get started with Windows Nano Server, including deployment options, remote management
and troubleshooting tips and tricks

 

Author Comment

by:SeanD
ID: 2596959
I was at work last night and writing this message from memory, and am not sure that this makes a difference, but the exact messages are like this:    
"/etc/rc.d/rc5.d/S50network [: =: unary operator expected"
and not like this:    
"/etc/rc.d/rc5.d/S50network [. [= unary operator expected"
Also I get the same mesage when I restart samba, but it gives the OK
"/etc/sbin/samba [: =: unary operator expected
/etc/sbin/samba [: =: unary operator expected
Shutting down SMB services: [OK]
Shutting down NMB services: [OK]
/etc/sbin/samba [: =: unary operator expected
Starting SMB services: [OK]
Starting SMB services: [OK]"
but like I said, everything seems OK. I will have to take a look at those lines.
0
 
LVL 40

Accepted Solution

by:
jlevie earned 400 total points
ID: 2597452
Just as a guess, I'll bet that the error is being caused by substitution of one of the items that should be in /etc/sysconfig/network aren't there. It should something look like:

NETWORKING=yes
FORWARD_IPV4=false
HOSTNAME="localhost.localdomain"
GATEWAY=

The first three matter the most, and each should have a value.
0
 
LVL 2

Expert Comment

by:Reinier
ID: 2598375
Those error messages come from several of the network related scripts in /etc/rc.d/init.d. Just to make them better scripts you could change the line (if any)

[ ${NETWORKING} = "no" ] && exit 0

to

[ "${NETWORKING}" = "no" ] && exit 0

Your real problem probabely is that the NETWORKING variable in /etc/sysconfig/network has no value assigned, or is not present at all. Make sure the line

NETWORKING=yes

is there.
0
 
LVL 2

Expert Comment

by:Reinier
ID: 2598387
Oh, and indeed, if you didn't want "NETWORKING=no" nothing was wrong with the machine, since the scripts always executed.

0
 

Author Comment

by:SeanD
ID: 2598730
I found the suggestion about
[ ${NETWORKING} = "no" ] && exit 0
in a newsgroup last week and tried it, and nothing changed. As soon as I get a chance (I'm working now) I'll check the /etc/sysconfig/network. I know that when the network configuration didn't work on the install that I edited some of this file myself, it is very likely that I missed something there. I won't get a chance till tomarrow afternoon though, so I'll let you all know then.
Thanx
Sean
0
 
LVL 2

Expert Comment

by:Reinier
ID: 2600097
If adding the " " to
[ ${NETWORKING} = "no" ] && exit 0
didn't work you probabely have some other scripts that cause the same error. All network related scripts in /etc/rc.d/init.d have this same line.

But define NETWORKING=yes and your problems will be over.
0
 

Author Comment

by:SeanD
ID: 2601627
OK I checked out the /ets/sysconfig/network and found uot that there was no line
NETWORKING="yes"
so I added it. When I rebooted I stopped getting the unary operator expected message, but now i get 2 of these lines like this:
Bringing up interface lo    [OK]
Bringing up interface eth0  [OK]
Bringing up interface lo    [OK]
Bringing up interface eth0  [OK]
>other stuff
>
>
Starting portmapper         [OK]
Starting portmapper         [OK]
>
>
Starting postfix            [OK]
Starting postfix            [OK]    
>
>
Like I said, no more unary messages, and everything is working OK, maybe networking is being started somewhere else?
I will except the answer from jlevie, but just wanted to know about this. Should I make this another question? Is this alright to just leave alone?
Thanx
Sean
0
 
LVL 40

Expert Comment

by:jlevie
ID: 2601725
Personally, I'd want to know why that's happening, because it should be. My guess is that it sees two definitions for eth0 (they may both be the same). Normal behaviour is to loop through all the interfaces and bring them all up. Since the system doen't check to see if the second interface is really the same as the first one...

Have you looked at the network config via linuxconf? Since it manipulates the same data you might see more than one "Adapter" defined and can delete the second. Also it may emit a n error that would help pin down the problem.
0
 
LVL 2

Expert Comment

by:Reinier
ID: 2601817
Did you change anything to /etc/syslog.conf? To be precise are you sending (probabely local7.*) syslog output to the console? It seems to me that you just see two messages for one "action".

You can't do ifup eth0 twice without getting an error of some sort. Same goes for portmapper and postfix. You would never see the second green [OK].
0
 

Author Comment

by:SeanD
ID: 2602393
I didn't change anything in the /etc/syslog.conf. I checket the linuxconf network settings and there is only one entry for etho. Everything seems fine, no errors. I'll track it down at some point. Thank you all very much.
Sean
0
 
LVL 40

Expert Comment

by:jlevie
ID: 2602939
Per Reinier's comment... You can get the messages multiple times... For instance, I can  do "/etc/rc.d/init.d/network start" once the system is up and I get:
Bringing up interface lo                                   [  OK  ]
Bringing up interface eth0                                 [  OK  ]

0

Featured Post

Microsoft Certification Exam 74-409

Veeam® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Using 'screen' for session sharing, The Simple Edition Step 1: user starts session with command: screen Step 2: other user (logged in with same user account) connects with command: screen -x Done. Both users are connected to the same CLI sessio…
Fine Tune your automatic Updates for Ubuntu / Debian
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial
Suggested Courses
Course of the Month13 days, 9 hours left to enroll

580 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question