Sponsored Content
Top Forums UNIX for Dummies Questions & Answers [: =: unary operator expected error Post 302479606 by methyl on Saturday 11th of December 2010 09:00:21 PM
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 ...
 

10 More Discussions You Might Find Interesting

1. 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

2. 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

3. 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

4. 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

5. 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

6. 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

7. 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

8. 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

9. 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

10. 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
mencal(1)								 1								 mencal(1)

NAME
mencal - menstruation calendar SYNOPSIS
mencal [options] [file1 file2 ... -c CONF1 -c CONF2 ...] DESCRIPTION
Display options: -m, --monday draw monday as first weekday (sunday is default) -1 current month (default) -3 previous, current and next month -y [YYYY] all-year calendar (default YYYY is current year) -q, --quiet no top information will be printed -n, --nocolor noncolored output -i, --icolor COLOR intersection color (default red) available colors: red, green, blue, yellow, violet, cyan, shiny, bold mencal configuration: -c, --config s=[YYYY]MMDD,l=LL,d=DD,n=NAME,f=FILE,c=COLOR The second argument is a comma separated list of options. No spaces are allowed in this list. If no name is specified, 'Unknown' is used. Various -c options or filenames can be set. s,start=[YYYY]MMDD start day of period (default current day) l,length=LL length of period in days (default 28) d,duration=D duration of menstruation in days (default 4) n,name=NAME name of subject f,file=FILE filename to save configuration to (see section FILES) only menstruation related variables will be saved c,color=COLOR color used for menstruation days available colors: red, green, blue, yellow, violet, cyan, shiny, bold default color is red, with '-n' switch color settings are ignored Info options: -h, --help print help -V, --version print version information FILES
: $HOME/.mencalrc - the default configuration file that is automatically loaded AUTHOR
: (C) 2002 C. McCohy e-mail: <mccohy@kyberdigi.cz> Word-Wide-Web: http://www.kyberdigi.cz/projects/mencal/english This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page (but may be used by others). HISTORY
22 March 2002 - Originally written by Amaya Rodrigo <amaya@debian.org>. 24 Apr 2002 - New manpage contributed by Pablo S. Torralba <psanchez@skyrealms.org>. Amaya Rodrigo <amaya@debian.org> is now responsible for developing and maintaining this manual page. Comments and suggestions are greatly wellcome. mencal Menstruation calendar mencal(1)
All times are GMT -4. The time now is 06:12 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy