Shell Scripting - CHMOD issue


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Shell Scripting - CHMOD issue
# 1  
Old 05-20-2017
Shell Scripting - CHMOD issue

Hi Friends ,

good morning . I am very new to Unix scripting and require a bit of advice to help resolve the below issue . Hope some one can provide some suggestion

I have the below script which calls a Oracle stored procedure which inturn extracts data from a table and writes in a ascii file (nameextract.txt) .

Although the file is created but i am getting the below error
----------------------------------------------
script log -

Code:
connected to oracle db 
SQL>
PL/SQL procedure completed successfully
SQL>disconnected from database
/x01/data/dataextract/code/extract.sh[16]:chmod not found

----------------------------------------------
code
----------------------------------------------
Code:
#!/bin/ksh
#setup tns to point to oracle wallet
export TNS_ADMIN=/x01/user/oracle/product/11.2.0.4/wallet
export ORACLE_HOME=/x01/user/userhome/oracle/product/11.2.0.4
ORACLE_SID=NAME_OWNER
PATH=$ORACLE_HOME/bin PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
ORACLE_HOME/network/lib
export LIBPATH=($LD_LIBRARY_PATH):/user/lib:/lib
export ORACLE_HOME ORACLE_SID PATH
sqlplus /@NAME_OWNER<<EOF
exec runstoredproc;
exit
EOF
chmod 674 /x01/data/dataextract/nameextract.txt

-----------------------------

Thanks in advance

Last edited by jim mcnamara; 05-20-2017 at 10:30 AM..
# 2  
Old 05-20-2017
For a reason I do not see immediately, it means the environment does not know where the chmod executable file lives.

So, a quick fix is: change chmod to /usr/bin/chmod
But bear in mind something went wrong, probably in the setup script for the user running the job in the first place. This can bite you badly in some other script.

BTW: chmod 674? Probably should be 664. It is a text file, right? Not an executable.
# 3  
Old 05-20-2017
Hi Jim - Thanks for your response . I don't have access to the box over the weekend , will try out your suggestion on Monday. Is it advisable to re export the path before chmod ?

I mean can i try the following -

and you are right i need 664 not 674



Code:
#!/bin/ksh
#setup tns to point to oracle wallet
export TNS_ADMIN=/x01/user/oracle/product/11.2.0.4/wallet
export ORACLE_HOME=/x01/user/userhome/oracle/product/11.2.0.4
ORACLE_SID=NAME_OWNER
PATH=$ORACLE_HOME/bin PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
ORACLE_HOME/network/lib
export LIBPATH=($LD_LIBRARY_PATH):/user/lib:/lib
export ORACLE_HOME ORACLE_SID PATH
sqlplus /@NAME_OWNER<<EOF
exec runstoredproc;
exit
EOF
PATH=$PATH:/usr/bin
export PATH
chmod 664 /x01/data/dataextract/nameextract.txt


Last edited by jim mcnamara; 05-20-2017 at 08:51 PM.. Reason: code tags
# 4  
Old 05-20-2017
Code:
PATH=$ORACLE_HOME/bin PATH

should be
Code:
PATH=$ORACLE_HOME/bin:$PATH

I would consider two things
Code:
1. try to diagnose your chmod problem
    a. it is caused by by the accidental insertion of an unprintable character in your script 
       ex: cat -v myscript.sh  
       shows unprintable garbage characters
    b. something trashes your PATH variable - display your PATH variable after each step in the script
2. consider try running your chmod statement  with the env command:
   /usr/bin/env chmod 664 /x01/data/dataextract/nameextract.txt

Based on your code example, be sure to test each line of code independently if possible - simply for omission of stuff like the colon above.
set and env commands can help you see what your environment looks like at any point in your script.

Last edited by jim mcnamara; 05-20-2017 at 09:01 PM..
This User Gave Thanks to jim mcnamara For This Post:
# 5  
Old 05-22-2017
Thanks Jim . There was a junk character in the script which was causing this issue . This has now been corrected and script has completed successfully. Thanks for your help .
This User Gave Thanks to J1nx007 For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Shell scripting looping issue

#!bin/ksh --------------------------------------------------------------------------------------------- -- Get sequence number from database --------------------------------------------------------------------------------------------- .os rm... (3 Replies)
Discussion started by: swathi reddy1
3 Replies

2. Shell Programming and Scripting

Shell scripting issue-running the background script

I have written the below query to genrate a telephone.I am passing account number from oracle database. I am calling 2 scripts which generate the bill 1. bip.sh (it runs in the background) 2.runXitInvoice_PROFORMA_integ bip.sh generates a number which runXitInvoice_PROFORMA_integ uses.How... (7 Replies)
Discussion started by: rafa_fed2
7 Replies

3. UNIX for Dummies Questions & Answers

Shell Scripting Issue

Hi I have a requirement where in I need to check 103,104,105 letters in each line and if it equal to MAS then I need to copy the whole line (Till End) to a file. In case if there are 10 lines, all these lines must be copied to a file. Can you please help me with script. (1 Reply)
Discussion started by: krishna87
1 Replies

4. Shell Programming and Scripting

Shell Scripting Issue

Hi I have a requirement where in I need to check 103,104,105 letters in each line and if it equal to MAS then I need to copy the whole line (Till End) to a file. In case if there are 10 lines, all these lines must be copied to a file. Can you please help me with script. (1 Reply)
Discussion started by: krishna87
1 Replies

5. Shell Programming and Scripting

Sql issue in shell scripting

HI friends , i am also facing an issue in mysql i ma trying to insert detail in a variable but not got success #!/bin/sh mysql -u<username> -p<password> <dbname> << EOF DEV=`mysql --skip-column-names <dbname> -e "SELECT timestamp from process_record where id = 1"` EOF echo $DEV ERROR... (3 Replies)
Discussion started by: sanjay833i
3 Replies

6. Shell Programming and Scripting

Sftp in shell Scripting issue

I have the below code for ftping a file sftp "ogl@serverna,me"ogl@serverna,me <<EOF cd $path_on_the_server binary put $path_on_my_sever/filename.txt bye EOF Not sure is this works.but when i tried its asking for password .How i can avoid asking password and provide it in the... (5 Replies)
Discussion started by: shyamrad
5 Replies

7. UNIX and Linux Applications

What is the difference between chmod in solaris and chmod in Linux?

i think it is the same in both... Iam i right? (1 Reply)
Discussion started by: sumaiya
1 Replies

8. Shell Programming and Scripting

Issue with Shell Scripting..

Hi Guys.. I need a solution for these two questions... Plz help me... 1)How can you load multiple files in a script ? 2)How do you get a process Id for multiple files in a shell script ? (3 Replies)
Discussion started by: mraghunandanan
3 Replies

9. Shell Programming and Scripting

difference between AIX shell scripting and Unix shell scripting.

please give the difference between AIX shell scripting and Unix shell scripting. (2 Replies)
Discussion started by: haroonec
2 Replies

10. UNIX for Dummies Questions & Answers

chmod rights issue?

I want to grant the 'write' right to one user so they can delete log files in a given directory. These are http log files, so a new one is created each day. The file owner is 'nobody'. If I use the command 'chmod a=rwx *' will this work for the new files created each day. I've tried the... (7 Replies)
Discussion started by: Westy564
7 Replies
Login or Register to Ask a Question