Unknown test operator


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Unknown test operator
# 1  
Old 05-14-2013
Unknown test operator

Hi ,

Os - Solaris

Shell - Ksh

I am getting below error in if condition

+ id
+ [ uid=18279(infemeaprd) gid=4081(Infadmn) == uid=18279(infemeaprd) gid=4081(Infadmn) ]
./om_wf_complete.sh[8]: gid=4081(Infadmn): unknown test operator
+ exit 1

Code:
if [ `id` = informt ]; then
  touch /home/odwt/1.0.0/out/oworkflow.dat
  chmod 777 /home/odwt/1.0.0/out/oworkflow.dat
elif [ `id` == "uid=18279(infemeaprd) gid=4081(Infadmn)" ]; then
  touch /home/odw/1.0.0/out/oworkflow.dat
  chmod 777 /home/odw/1.0.0/out/oworkflow.dat
else
  exit 1
fi

# 2  
Old 05-14-2013
what are you trying to achieve here? also in if we use = or -eq and not ==

Last edited by vidyadhar85; 05-14-2013 at 07:10 AM.. Reason: few more :)
# 3  
Old 05-14-2013
By using = also same error

+ id
+ [ uid=18279(infemeaprd) gid=4081(Infadmn) = informt ]
./om_wf_complete.sh[5]: gid=4081(Infadmn): unknown test operator
+ id
+ [ uid=18279(infemeaprd) gid=4081(Infadmn) = uid=18279(infemeaprd) gid=4081(Infadmn) ]
./om_wf_complete.sh[8]: gid=4081(Infadmn): unknown test operator
+ exit 1


Here i m just identifying the user.

if id is equal to uid=18279(infemeaprd) gid=4081(Infadmn) then it must create a file

$ id
uid=18279(infemeaprd) gid=4081(Infadmn)
# 4  
Old 05-14-2013
what are you checking here
Code:
 
if [ `id` = informt ];

---------- Post updated at 04:00 PM ---------- Previous update was at 03:58 PM ----------

for later try using below

Code:
elif [ "`id`" = "uid=18279(infemeaprd) gid=4081(Infadmn)" ] ; then

# 5  
Old 05-14-2013
Instead of `id` you better work with "${LOGNAME:-$USER}"
That is the environment variable $LOGNAME (if undefined it tries $USER).
This User Gave Thanks to MadeInGermany For This Post:
# 6  
Old 05-14-2013
Sorry, that a wrong line.

Updated code -

Code:
if [ `id` = 'uid=18280(infemeaprdt) gid=4082(Infadmnt)' ]; then
  touch /home/dstoret/odw/1.0.0/out/om_workflow.dat
  chmod 777 /home/dstoret/odw/1.0.0/out/om_workflow.dat
elif [ `id` = 'uid=18279(infemeaprd) gid=4081(Infadmn)' ]; then
  touch /home/dstore/odw/1.0.0/out/om_workflow.dat
  chmod 777 /home/dstore/odw/1.0.0/out/om_workflow.dat
else
  exit 1
fi

# 7  
Old 05-14-2013
If the action part is the same, you better have one OR condition
Code:
if [ "${LOGNAME:-$USER}" = "infemeaprdt" ] ||
   [ "${LOGNAME:-$USER}" = "infemeaprd" ]
then
  touch ...
  chmod ...
fi

If you really need if-then-elif-else-fi but for the same item, then use a case statement
Code:
case ${LOGNAME:-$USER} in
infemeaprdt)
  ...
  ;;
infemeaprd)
  ...
  ;;
esac

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Getting unknown operator error while using a function

Hi, I wrote a function for the first time and not able to get the desired result. I have requirement to execute 10 queries. For this i wrote a function like below. function Command { typeset var SOL; if ; then CONNECTION="${CONNECTION} -e -time"; else SOL="`nzsql ${CONNECTION} -c... (8 Replies)
Discussion started by: Samah
8 Replies

2. Shell Programming and Scripting

Unknown test operator

O/S solaris 9 shell ksh if then chk_op="WARNING...reboot within the last 24hrs, restarted at `who -r | awk '{print $4$5"@"$6}'`" ; else if ; then last_reboot1=`who -b | awk '{print $4" "$5" "$6}'` last_reboot2='..OK..'`uptime | awk '{print$3" "$4}'` ... (4 Replies)
Discussion started by: squrcles
4 Replies

3. Shell Programming and Scripting

Test operator

In my script (currently running on Solaris ) I'm testing for zero size with wild character. There are mutilple files exist in the directory. if then filename=`ls -1tr ${fileformat}.${date}.? | tail -1` else ${BATCH_FATAL:-echo} "$0:ERROR:No file found ${source}/${fileformat}.${date}.?"... (5 Replies)
Discussion started by: gauravgoel83
5 Replies

4. Shell Programming and Scripting

unknown test operator

hi all, i am using the below command in my script if ; then This statement is causing the problme "ScriptName.ksh: XXX-XXX: unknown test operator" could you please suggest me , how can i avoid these messages. Singhal (7 Replies)
Discussion started by: singhald
7 Replies

5. Shell Programming and Scripting

if returns "unknown test operator"

Greetings, using ksh on Solaris, I am trying to identify the current version of a package installed on multiple servers using if statement in a precursor to upgrading. I have searched the forums and have found many hits, reviewed 3 pages and have tried the different variations noted there. Also... (3 Replies)
Discussion started by: 22blaze
3 Replies

6. Shell Programming and Scripting

syntax error in shell test: unknown operator

Hi All, can some one figure out the syntax issue here. How to overcome this? #!/bin/sh $ HFR_MAIL=NO $ PRP_MAIL=NO $ MC_MAIL=NO $ if && && ]; then > echo "NO " > else > echo "YES" > fi test: unknown operator NO $ if && && ]; then > echo "NO" > else > echo "YES" >... (4 Replies)
Discussion started by: shellscripter
4 Replies

7. Shell Programming and Scripting

TEST operator help

Hi I want to group like this but syntactic is not right ... Thanks if Like this below does not work properly .. if then : else usage exit 1 fi (5 Replies)
Discussion started by: zam
5 Replies

8. Shell Programming and Scripting

test: unknown operator status

hi I get test: unknown operator status if then echo "OK." return 0 else echo "not ok" 2>&1 exit -1 fi I tried to change "A" with 'A' --> same error I tried to change if , I am getting: (3 Replies)
Discussion started by: melanie_pfefer
3 Replies

9. UNIX for Advanced & Expert Users

unknown test operator

Hi, I have the following shell script : Nbr_BD_Link=0 Nbr_BD_Link=` sqlplus sysadm/${PSWD}@${DB_Name} << EOF | tail -4 | head -1 2>/dev/null set head off feedback off ; select count(*) from dba_db_links ; exit ; EOF ` echo ${Nbr_BD_Link} if ; then ... (4 Replies)
Discussion started by: big123456
4 Replies

10. Shell Programming and Scripting

:0: unknown test operator

I have gotten the script up to this point and it works fine a system but when i copy it to another unix server running solaris 9 as the original one , its gives an error './mon_fs.sh: 0: unknown test operator' . (see script bellow) can the Gurus see to this as i am just a beginner with... (2 Replies)
Discussion started by: ibroxy
2 Replies
Login or Register to Ask a Question