Problems with "test"


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Problems with "test"
# 1  
Old 04-23-2008
Problems with "test"

i'm getting the following error when i run the shell script. Can you please help me out. :
compareReports.sh[17]: test: argument expected
compareReports.sh[17]: Difference: unknown test operator
compareReports.sh[17]: test: argument expected
compareReports.sh[17]: test: argument expected
compareReports.sh[20]: test: argument expected
compareReports.sh[20]: Difference: unknown test operator
compareReports.sh[20]: test: argument expected
compareReports.sh[20]: test: argument expected

this is the function in the script :

ftpFromProd() {
GET_CMD=""
while [ true ]
do
read line
if [ $? -ne 0 ];then
break
fi
if [ -z "$line" ] || [ `expr "$line" : "#"` -gt 0 ]
then
(this is the 17th line) continue
fi
fileName=`echo $line | sed -e 's/\*/\\\*/g' -e "s@\*@\\\*@g" -e "s@BATCHDIR@$tar_batchDir@g" -e "s/RUNDATE/$rd
ate/g"`
(this is th 20th line)echo "FileName->$fileName"
r_dir=`dirname $fileName`
echo "Dir->$r_dir"
file=`basename $fileName`
echo "file->$file"
l_dir="$opdir/$r_dir"
if [ ! -d $l_dir ]; then
mkdir -p $l_dir
fi
GET_CMD="$GET_CMD lcd $l_dir\n cd $r_dir\n mget $file\n"
done < $SCRIPTLOC/config_file.txt

ftp -in $hostName <<EOF
quote USER $userid
quote PASS $pwd
binary
`echo $GET_CMD`
quit
EOF

}
# 2  
Old 04-23-2008
hi,
please don't crosspost your problems in various threads. new problem = new thread!
# 3  
Old 04-23-2008
use -o in place of ||

use -o in place of ||
# 4  
Old 04-23-2008
Nope, that's not it, the use of || is correct (but the rest of the script hurts to look at, no offense)

I'm guessing the line numbers are off, can you run it with sh -x compareReports.sh to see where the errors are really coming from?

The error message indicates you have an unquoted variable with an unexpected value in it. You should actually probably put double quotes around all your variables regardless.

Last edited by era; 04-23-2008 at 09:01 AM.. Reason: Suggest sh -x run
# 5  
Old 04-23-2008
whenever you see errors like this, i.e. [17]: [20]:
This corresponds to the line number in the script, where the error happened, so your error might not be in that function but elsewhere, you didnt list the entire script so is hard to tell.
you can:
Code:
vi +17 scriptname
vi +20 scriptname
# to take you to either of those exact lines.

# 6  
Old 06-02-2008
hi
i tried out sh -x compareReports.sh
i'm getting the following message
+ function usage {
compareReports.sh: function: not found
+ echo Usage: compareReports.sh [-s env1] -t env2 [-r rundate] [-o report directory] [-u userid ] [-p passwd] [-h hostname ] [-l script location]
Usage: compareReports.sh [-s env1] -t env2 [-r rundate] [-o report directory] [-u userid ] [-p passwd] [-h hostname ] [-l script location]
compareReports.sh: syntax error at line 6: `}' unexpected

i dont think there is any error.....

when i tried using these
vi +17 scriptname
vi +20 scriptname

they pointed to blank lines(because the 17th and the 20th lines are blank in the script)

Please help me out
# 7  
Old 06-02-2008
If it says "function: not found" they it doesn't understand the function keyword. Take it out, it's not needed (and not part of Bourne syntax as per POSIX).

Code:
usage () {
  body of function goes here
}

Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. AIX

Apache 2.4 directory cannot display "Last modified" "Size" "Description"

Hi 2 all, i have had AIX 7.2 :/# /usr/IBMAHS/bin/apachectl -v Server version: Apache/2.4.12 (Unix) Server built: May 25 2015 04:58:27 :/#:/# /usr/IBMAHS/bin/apachectl -M Loaded Modules: core_module (static) so_module (static) http_module (static) mpm_worker_module (static) ... (3 Replies)
Discussion started by: penchev
3 Replies

2. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

3. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

4. Shell Programming and Scripting

Shc : trying to test functionality "test" compiling but can not execute

I am testing shc to see if it would help with my need. Im at a point where Im trying to compile and test the "test.ksh" file that comes in the tar ball : shc-3.8.9> shc -v -r -f test.ksh shc shll=ksh shc =-c shc =exec '%s' "$@" shc = shc opts= shc: cc test.ksh.x.c -o test.ksh.x... (7 Replies)
Discussion started by: popeye
7 Replies

5. UNIX for Dummies Questions & Answers

What is the significance of sh -s in ssh -qtt ${user}@${host} "sh -s "${version}"" < test.sh?

Please can you help me understand the significance of providing arguments under sh -s in > ssh -qtt ${user}@${host} "sh -s "${version}"" < test.sh (4 Replies)
Discussion started by: Sree10
4 Replies

6. Shell Programming and Scripting

Problems with "write" and "wall"

Hello, I am using VirtualBox to simulate a small network with two Linux computers, the host is Mac OS X. My problem is that I can't send "write" and "wall" messages from the host to one of those Linux computers. Here is what works: - The virtual Linux computer answers "ping" messages that have... (5 Replies)
Discussion started by: 123_abc
5 Replies

7. Shell Programming and Scripting

Test command with "-z" and "-n"

Hello all, Please let me know, why the value of $? is diff for -z and -n. And explain what are the operends we can use with "test" and their purpose.. $ test -z "" $ echo $? 0 $ test -n "" $ echo $? 1 Thanx in advance.. (2 Replies)
Discussion started by: divya bandipotu
2 Replies

8. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

9. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies
Login or Register to Ask a Question