end of line error

 
Thread Tools Search this Thread
Homework and Emergencies Homework & Coursework Questions end of line error
# 1  
Old 09-28-2012
end of line error

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!

1. The problem statement, all variables and given/known data:


Code:
#/bin/sh -xv
#Author: Lauren Buecker
#Date: September 28 2012
#Class COP3353
#Assignment: Assignment 4
echo "There are "$#" pamaters"
if ($# ! = 1) then
echo " Error No Paramaters Passed"
exit
endif

2. Relevant commands, code, scripts, algorithms:

if statement

3. The attempts at a solution (include all code and scripts):

When I delete the if statement it works fine

4. Complete Name of School (University), City (State), Country, Name of Professor, and Course Number (Link to Course):

Florida State University, Tallahassee Fl USA David Gaitros COP3353

Note: Without school/professor/course information, you will be banned if you post here! You must complete the entire template (not just parts of it).
# 2  
Old 09-28-2012
This looks sort of like a csh script, but if/then in sh doesn't work quite that way. It uses -eq, -ne, and so forth to compare numbers. =, != are used to compare strings.

There must be spaces between the brackets and whatever is inside -- and outside -- them. sh uses single square brackets, or double square brackets, not single round brackets.

You have to put a then after if.

You end the if-statement with fi, not endif.

You probably want less-than, rather than equal or not-equal, since it's possible for there to be one or more arguments, not just one. less-than is abbreviated into -lt.

Code:
if [ "$#" -lt 1 ]
then
        echo " Error No Parameters Passed"
        exit
fi

See Test Operators for what else you can do inside [ ] .
# 3  
Old 09-28-2012
So if i got that straight the first one i wrote was something that csh would be able to run?

The assignment does no say it has to be sh or csh but I have to ask for and the parameter, check to see if that is a directory and then see how many directories their are, files with read permission, files with write permission and files with execute permissions are.

when I try and put the other if statement to see if it was a directory it says to many arguments

if [ "$#" ! -d]
Code:
if [ "$#" ! -d]

also I did this
Code:
if [ $#" -d == "public_html" ]

same error

Last edited by swimmerbhs; 09-28-2012 at 03:49 PM..
# 4  
Old 09-28-2012
Quote:
Originally Posted by swimmerbhs
So if i got that straight the first one i wrote was something that csh would be able to run?
I'm not very proficient with c-shell. It looks like something from csh, though.

If you're not sure whether you're supposed to be learning csh or sh, you better find out fast, since they're nothing alike. Hopefully sh, since csh is to be avoided.

Quote:
The assignment does no say it has to be sh or csh but I have to ask for and the parameter, check to see if that is a directory and then see how many directories their are, files with read permission, files with write permission and files with execute permissions are.
I would always reccomend sh over csh.

Quote:
When I try and put the other if statement to see if it was a directory it says to many arguments
You made a syntax error there: -d] should be -d ] because as explained above, the brackets must have spaces between them and everything else.

I'm not sure why you're using $# there or what you're expecting it to do; $# is a special variable which means 'the number of arguments'. If you want the first argument, that's $1. $2 is the second, etc.

Code:
if [ -d "$1" ]
then
        echo "$1 is a folder"
fi

Note the double-quotes around $1. This will prevent $1 from splitting into multiple strings if it happens to have a space in it.
# 5  
Old 09-28-2012
I fixed the second if statement to read
Code:
if [ ! -d  "$1" ] 
then
        echo "Not a directory"
        exit
fi

but all directories parameters say it is not a directory.

after i save the file and input in to the command line
sh assignment4.sh public_html or sh assignment4.sh COP3353-temp which are all directories
Code:
buecker@shell:~/COP3353-temp>sh assignment4.sh public_html
Not a directory
buecker@shell:~/COP3353-temp>sh assignment4.sh COP3353-temp
Not a directory

---------- Post updated at 02:59 PM ---------- Previous update was at 02:55 PM ----------

ok i fixed the one one problem with passing in the paramater for the folder i was already in. but not the home directory

---------- Post updated at 03:12 PM ---------- Previous update was at 02:59 PM ----------

Code:
cd $1
set numdir = 0
set files = 0
set readfiles = 0
set writefiles = 0
set executefiles = 0
foreach  files [ * ]
echo "$files"   
end

for was a command not found, foreach is a command not found the instructor is showing us how to do it in a shell we are not supposed to use.
Code:
assignment4.sh: line 23: foreach: command not found

assignment4.sh: line 25: end: command not found
buecker@shell:~>

# 6  
Old 10-04-2012
Sorry for missing this thread.

foreach is not a shell statement, you'd just use for.

Code:
for X in *
do
        echo "file is $X"
done

# 7  
Old 10-05-2012
(foreach is definitely cshell syntax and only cshell or assimilated... (hehe poor guy...))
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Del: line 13: syntax error: unexpected end of file

1 echo -e "Enter a filename" 2 read filename 3 if 4 then 5 echo -e "do you want to delete?" 6 read answer 7 if 8 then rm myfirst 9 else 10 echo -e "file not deleted" 11 fi 12 exit0 (1 Reply)
Discussion started by: Speedy
1 Replies

2. Red Hat

sh: module: line 1: syntax error: unexpected end of file

Hi, We have installed linux6(RHEL) OS and installed datastage application on that. First time installation worked fine and our all services related to datastage was up and running. When we stopped the datastage and restarted its giving below error while restart:- ./uv -admin -start DataStage... (0 Replies)
Discussion started by: prasson_ibm
0 Replies

3. Shell Programming and Scripting

line 15: syntax error: unexpected end of file

Hi all, I am very new to programming and even newer to this forum as well, so I apologize if this should have been in the Newbie category, but... I am currently trying to figure out Shell Scripting and am running into problems early. Not having taken any kind of programming class, I am not even... (2 Replies)
Discussion started by: ccorder22
2 Replies

4. Shell Programming and Scripting

EOF Usage - line 56: syntax error: unexpected end of file

Below is a test script I'm writing in the process of learning to write script. When I try to run it I get an unexpected end of file error on line 56. Thoughts? SCRIPT: #!/bin/bash # system_page - A script to produce a system information HTML file ##### Constants TITLE="My System... (1 Reply)
Discussion started by: mpercy725
1 Replies

5. Shell Programming and Scripting

./TRUNCATE-PS_TXN.sh: line 54: syntax error: unexpected end of file

Hi All , My below script is for chacking vaule and then trucating table : ___________ test4@aceuatcs04:/u01/test4/SOLID/Testscript>cat TRUNCATE-PS_TXN.sh #-------------------------------------------------------------------- # Created by:Kaushlesh Yadav # Generated on: 15/07/2010 # Job... (4 Replies)
Discussion started by: kaushelsh168
4 Replies

6. Shell Programming and Scripting

syntax error at line 752: `end of file' unexpected

Hi, I'm having a syntax error at line 752: `end of file' unexpected. However, i didn't make any changes on line 752. I just inserted a new code in an existing program. Can anyone please check if there is something wrong with my code: if then lline=`tail -5 $badfile` ... (3 Replies)
Discussion started by: chryz
3 Replies

7. Shell Programming and Scripting

mkmkfiles.imake: line 51: syntax error: unexpected end of file

Hi, i am installing glut-3.5 using that ./mkmkfiles.imake its showing an error msg as root@lxdevenv:~/Desktop/openGL/glut-3.5# ./mkmkfiles.imake ./mkmkfiles.imake: line 51: syntax error: unexpected end of file root@lxdevenv:~/Desktop/openGL/glut-3.5# actually there are 49 lines in... (3 Replies)
Discussion started by: Ravikishore
3 Replies

8. Shell Programming and Scripting

a better way to grep until end of error message, although most seem to be 1 or 2 line

My file creates an output log after which includes a few sql queries. I segregate them into warnings and errors and then get a total count. The errors' and warnings' lines always start with SQL{4} followed by the details of the error. This is what im doing as o now... errors=`grep -A 1 -E... (11 Replies)
Discussion started by: VGR
11 Replies

9. Shell Programming and Scripting

Help on shell script : syntax error at line 62: `end of file' unexpected

Hi All, I have written a korn script (code pasted below). It is giving the error while debugging "new.sh: syntax error at line 62: `end of file' unexpected". I have re-written the whole code in VI and explored all help related to this error on this Unix forum and tried it. Somehow, I could... (7 Replies)
Discussion started by: schandrakar1
7 Replies

10. Solaris

syntax error at line 59: `end of file' unexpected

Hello... I'm trying to run the sshd script, but I keep geting the Syntax errot message . Here's the last few lines on the script. set nu in vi shows 58 lines, but I keep getting error referring to line 59. Any help is appreciated. Thanks, Remi else echo... (4 Replies)
Discussion started by: Remi
4 Replies
Login or Register to Ask a Question