Problem In Shell Script


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Problem In Shell Script
# 1  
Problem In Shell Script

Hi,

I'm new to Shell script. Can anyone tell me where is the wrong in my code?

And, my code is --


Code:
echo "Enter Start Date(YYYY-MM-DD): "
read stdt 


echo "Enter End Date(YYYY-MM-DD): "
read endt 

echo "Enter Flight Number(Optional): "
read fln


echo "Enter Output XML File Name(Including Extension): "
read dst

#if [ $fln eq "" ] then
#if [ "$fln" = "" ] then

if [ $? -lt 3 ] then
   java DailyScheduleExport $stdt $endt> $dst
else
   java DailyScheduleExport $stdt $endt $fln> $dst
fi

Waiting for your reply.Smilie

And the error is --

Code:
ods@awhq6640[/prod/ods/sqlj/ods_services]>sh DailyScheduleExport_q.ksh
DailyScheduleExport_q.ksh[2]: ^M: Execute permission denied.
DailyScheduleExport_q.ksh[4]: ^M: Execute permission denied.
DailyScheduleExport_q.ksh[6]: ^M: Execute permission denied.
DailyScheduleExport_q.ksh[8]: ^M: Execute permission denied.
DailyScheduleExport_q.ksh[9]: ^M: Execute permission denied.
DailyScheduleExport_q.ksh[12]: ^M: Execute permission denied.
DailyScheduleExport_q.ksh[13]: ^M: Execute permission denied.
Enter Start Date(YYYY-MM-DD):
2007-01-01
DailyScheduleExport_q.ksh[16]: ^M: This is not an identifier.
DailyScheduleExport_q.ksh[17]: ^M: Execute permission denied.
DailyScheduleExport_q.ksh[18]: ^M: Execute permission denied.
Enter End Date(YYYY-MM-DD):
2007-09-21
DailyScheduleExport_q.ksh[20]: ^M: This is not an identifier.
DailyScheduleExport_q.ksh[21]: ^M: Execute permission denied.
Enter Flight Number(Optional):
DailyScheduleExport_q.ksh[23]: fln^M: This is not an identifier.
DailyScheduleExport_q.ksh[24]: ^M: Execute permission denied.
DailyScheduleExport_q.ksh[25]: ^M: Execute permission denied.
Enter Output XML File Name(Including Extension):
DailyScheduleExport_q.ksh[27]: dst^M: This is not an identifier.
DailyScheduleExport_q.ksh[28]: ^M: Execute permission denied.
DailyScheduleExport_q.ksh[31]: ^M: Execute permission denied.
DailyScheduleExport_q.ksh[32]: Syntax error at line 32 : `if' is not matched.
ods@awhq6640[/prod/ods/sqlj/ods_services]>

And, the file status is --

Code:
-rwxrwxrwx   1 ods        ods            800 Sep 24 06:28 DailyScheduleExport_q.ksh

What might be the problem? Any suggestion?

Regards.

Satyaki De.
# 2  
Can you post the output of this command

Code:
head -1 <your_shell_script_name> | od -a

Perhaps that must be because of the ctrl-m characters in the shell script. Run a dos2unix on your shellscript and then run it.

Also put #! /bin/ksh as the first line of your shell script.
# 3  
Hi thanks for your reply. But, it is showing error message --

Code:
ods@awhq6640[/prod/ods/sqlj/ods_services]>tput clear
ods@awhq6640[/prod/ods/sqlj/ods_services]>head -1 DailyScheduleExport_q.ksh | od -a
od: illegal option -- a
Usage: od [-v] [-A base] [-j skip] [-N count] [-t type_string]... [file...]
ods@awhq6640[/prod/ods/sqlj/ods_services]>

I've already added this line in my shell -

Code:
#!/usr/bin/ksh

Regards.

Satyaki De.
# 4  
Hi,

Looks like you may have extraneous "Control-M" characters in your file. Open it in vi to see. This occurs sometimes when porting a DOS/Windows file to Unix. You can delete them one by one or run the command: dos2unix. If your OS doesn't have this command look for one by typing: man -k dos.

Hope this helps,

John
# 5  
Which OS are you on ? Post the output of uname -a.

Do you have dos2unix on your machine ? If so, try running dos2unix on the shellscript.
# 6  
Thanks for your reply. OS information is as follows -

Code:
HP-UX awhq6640 B.11.11 U 9000/800 665379313 unlimited-user license

Regards.

Satyaki De.
# 7  
Quote:
Originally Posted by satyakide
Code:
HP-UX awhq6640 B.11.11 U 9000/800 665379313 unlimited-user license

So you must be having dos2ux on your system. Run
Code:
dos2ux DailyScheduleExport_q.ksh

and then try running the script.
Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #562
Difficulty: Easy
Normally, the control flow of a program is sequential: each statement is executed right-to-left the next statement before the current statement.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Shell script newbie, what is problem with my script?

Hello, Ubuntu server 11.10 can anybody help what is problem with my shell script? #!/bin/bash #script to find out currently logged on user is root or not. if ] then echo "You are super" else echo "You are awesome!" fi When I run script, I get following output ./uid: line 3: I... (4 Replies)
Discussion started by: kaustubh
4 Replies

2. Shell Programming and Scripting

Shell Script If Else problem!

Hi guys I have this problem... I am supposed to Check if the word i had input, exist in the txt.file And i am having a problem with my codes... cat File.txt | while read TEXT if echo "Found" else echo "Not found!" fi (3 Replies)
Discussion started by: limemargarita
3 Replies

3. Shell Programming and Scripting

Shell script problem

i have a set of commands to be executed, which is working perfectly when executed from terminal line by line but when its put in a shell script its not working i.e its giving FileNotFoundException. how do i resolve it my code is like #!/bin/sh pushd /Desktop/Solris_Installer/ROCore jar xf... (4 Replies)
Discussion started by: divyakprabh
4 Replies

4. AIX

There's problem with shell script...Help me~

Hello, guys... I'm new to IBM AIX server admin. Actuall, I administrate Oracle 10g on it. *SYSTEM INFO - IBM AIX 6 Powerpc - Oracle 10g R2 (10.2.0.4.0 - 64bit) I wrote a script like bellow... DATE='date' cp /oracle/product/10g/network/log/listener_temp.log... (4 Replies)
Discussion started by: daniel han
4 Replies

5. Shell Programming and Scripting

Shell script problem

Hello. I am trying to make this shell script bellow work on my server wich should take the names in newacc.cvs and add them to the system. For each user the script should ask me to enter a password for the user im adding and then add them to the system, however my current solution do not work atm... (7 Replies)
Discussion started by: ryzzaze
7 Replies

6. Shell Programming and Scripting

call shell script from perl cgi script problem

hi,, i have perl scipt with line : system('./try.sh $t $d $m'); in shell scipt try.sh i have the line: echo $1 its not printing value of $t that i hav passed..y is it so..i am running it from apache web server (2 Replies)
Discussion started by: raksha.s
2 Replies

7. Shell Programming and Scripting

Problem in shell script

HOSTNAME=`uname -n` /usr/sbin/clinfo CLUSTERACTIVE=$? # First check whether the Cluster itself is active if then echo Cluster is NOT ACTIVE - EXITING exit 1 fi # Now check whether we are on the active Cluster Node for this Resource Group... (2 Replies)
Discussion started by: babu.knb
2 Replies

8. UNIX for Dummies Questions & Answers

Shell script problem

Hi, I have a shell script in which I am calling a function from a different shell script. This functions executes the SQL and the results are stored in a log file. If the result of the SQL is "no rows selected" then I need to exit the main shell script. My shell script is executing fine if... (5 Replies)
Discussion started by: shashi_kiran_v
5 Replies

9. Shell Programming and Scripting

Help! Problem with Shell Script.

hi! i have the script which i hit error. anyone knows whats wrong? i have been trying for the last 3 days and don't seems to be able to find an answer. the error i got was sp_out.sh: syntax error at line 51 : `<<' unmatched. However when i move the FTP portion of the script out of the If... (7 Replies)
Discussion started by: pektl
7 Replies

10. UNIX for Advanced & Expert Users

shell script problem

Hi, I have a shell script problem. I'm using /bin/ksh and I have a script that reads a number of table names from a file adn then for each table name, it creates the table in Oracle8i via sqlplus, The main sceleton looks something like: while read tab_name do # BODY done <... (10 Replies)
Discussion started by: strpeski
10 Replies