Test operator


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Test operator
# 1  
Old 09-17-2012
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.

Code:
if [ -s ${fileformat}.${date}.? ]
then
  filename=`ls -1tr ${fileformat}.${date}.? | tail -1`
else
  ${BATCH_FATAL:-echo} "$0:ERROR:No file found ${source}/${fileformat}.${date}.?"
  exit 1
fi

however when this on Linux it throws an error

Code:
Found kernel 2.6
./extract_opt_price.sh: line 57: [: too many arguments


Last edited by Scott; 09-17-2012 at 03:12 AM.. Reason: Code tags
# 2  
Old 09-17-2012
You say that there are multiple files in the directory named by ${source}, but you don't say how many files in that directory match the pattern ${fileformat}.${date}.?. The results you are reporting indicate that either no files or one file match this pattern on your Solaris system, but two or more files match this pattern on your Linux system.

You can verify this by running the command:
Code:
ls ${source}/${fileformat}.${date}.?

on both systems.
# 3  
Old 09-17-2012
Hi Don

result is same on both systems.
# 4  
Old 09-17-2012
That is strange. So, what are the results?
# 5  
Old 09-17-2012
Same shell ? test is builtin, so maybe some differences in the error handling, if your shell is not same.
Main question in this point is as Don asked - what are the ls output ?

ls output include more than one file ? If it's so, then you have too many args.
# 6  
Old 09-17-2012
The glob may expand to more than one, so use a for loop.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

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

2. Shell Programming and Scripting

Operator test in bash

Hello, can you please help me because I am totally confused with a simple script: #!/bin/bash ] || ] && echo "Good Morning" ] || ] && echo "Good Night" For me, these two strings are indentical: false || false and there is no point to execute echo command. But the run result is... (5 Replies)
Discussion started by: AndreiM
5 Replies

3. Shell Programming and Scripting

Unknown test operator

Hi , Os - Solaris Shell - Ksh I am getting below error in if condition + id + ./om_wf_complete.sh: gid=4081(Infadmn): unknown test operator + exit 1 if ; then touch /home/odwt/1.0.0/out/oworkflow.dat chmod 777 /home/odwt/1.0.0/out/oworkflow.dat elif ; then touch... (8 Replies)
Discussion started by: nag_sathi
8 Replies

4. Shell Programming and Scripting

Solaris test operator -gt

Hello people, I created the below script on HP-UX #!/bin/sh SESSION_NO=`sqlplus -s ${DRBILOUKOS_USER} <<EOF SET HEAD OFF @/export/home/drbiloukos/scripts/sessions_count/no_of_sessions.sql EOF` SESSION_THRESHOLD=250 MAX_SESSIONS=`sqlplus -s ${DRBILOUKOS_USER} <<EOF SET HEAD OFF... (2 Replies)
Discussion started by: drbiloukos
2 Replies

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

6. Shell Programming and Scripting

FIle (directory) test operator (bash)

I'm almost pulling out my hair trying to figure out what's wrong with this... there's no reason I can see that it shouldn't be working. It seems that the code acts as though the conditional statement is true no matter what - I've even tried removing the negation operator, but it always goes into... (5 Replies)
Discussion started by: wildbluefaerie
5 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