Visit Our UNIX and Linux User Community


Executing a shell script using sh


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Executing a shell script using sh
# 1  
Old 01-03-2013
Executing a shell script using sh

Platform : Solaris 10, RHEL 5.4, OEL 6

I've noticed that some of my colleagues execute scripts by typing sh before the script name

Code:
sh myscript.sh

I always execute a script by typing the script name and typing enter provided PATH variable has . (current directory) in it

Code:
myscript.sh (and then enter)

Is there any advantage in using sh ?
# 2  
Old 01-03-2013
If you have not eXcute priviledge in the script file, then you need start the interpreter like sh and input is readed from file (arg 1).

If your input file not include needed interpreter then it's more safety to tell which interpreter need to use.

If PATH not include dot (current directory), then you need tell the path to find the command.

Ex. a.sh
Code:
((a=100+100))

Code:
chmod a+rx a.sh
a.sh   # works if your PATH include . (dot)
./a.sh  # works always, no need to check PATH

But if your command shell is not bash or ksh in previous example, you have ex. csh or dash shell, then you get error. Your shell can't run previous script - syntax error.

=>

Code:
bash a.sh   # works fine in every user shell

Or add interpereter to the 1st line and give the execute priv.
Code:
#!/usr/bin/bash
((a=100+100))

Then it works always in any user shell. No need to take care of users shell.

Some of us has idea that when you develop something, it's not executable
=> need use
Code:
someinterpreter inputfile

Or you don't like to tell that this file is shell script, ex. you have file
readme.txt
but it include something code, then you and only you know that it's include some script for some interpreter.

Code:
bash readme.txt
awk -f readme.txt
php readme.txt
sh readme.txt
# which syntax you have used in your "hidden script"

These 2 Users Gave Thanks to kshji For This Post:

Previous Thread | Next Thread
Test Your Knowledge in Computers #249
Difficulty: Easy
Senator Albert Gore, Jr. authored the High Performance Computing and Communication Act of 1991, creating what Gore referred to as the information superhighway.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Error while executing the shell script

Hi Gurus, The following script fails with the error 'command not found' while trying to execute. As the error indicates, the script fails at ROW#30 where the EOF is defined for SQL statement. It appears that the script is trying execute the lines in the SQL output written to ta spool file.... (7 Replies)
Discussion started by: svajhala
7 Replies

2. Shell Programming and Scripting

Why we use -f while executing any shell script?

Hi All, I wanted to know why we use the '-f' option while executing script. in my case... abcd.sh -f any_evts 02 2014 abcd = Scriptname -f = dont know any_evts = Some file or string 02= month 2014 = year So in above pleas ehelp to understand here -f and other arguement like... (1 Reply)
Discussion started by: ajju
1 Replies

3. Shell Programming and Scripting

Executing shell script from desktop

Hello All, Is there a way that I can have wrapper place in my desktop and when I run it, it connect with my server and do the action. If this can happen, Can I know how to get started Thanks (3 Replies)
Discussion started by: mirwasim
3 Replies

4. Shell Programming and Scripting

Executing a shell script

LD_LIBRARY_PATH=~/tme-0.8/bus/multibus:~/tme-0.8/bus/sbus:~/tme-0.8/dist/softfloat/softfloat/bits32:~/tme-0.8/dist/softfloat/softfloat/bits64:~/tme-0.8/generic:~/tme-0.8/host/bsd:~/tme-0.8/host/gtk:~/tme-0.8/host/posix:~/tme-0.8/ic:~/tme-0.8/ic/ieee754:~/tme-0.8/ic/m68k:~/tme-0.8/ic/sparc:~/tme-0.8/... (1 Reply)
Discussion started by: lucky7456969
1 Replies

5. Shell Programming and Scripting

Executing Procedure from shell script..

Hello, I created a sql file to create a Procedure, and it was successfully created. I created a sql file to execute the procedure, and it did without any errors, but i dont see the data been updated. The Execute procedure.sql script is: BEGIN set serveroutput on size 1000000 execute... (5 Replies)
Discussion started by: msrahman
5 Replies

6. Shell Programming and Scripting

Executing shell script files

Whats the difference between executing a file such as test.sh as: ./test.sh as apposed to sh test.sh i've noticed that a simple while loop will not execute for the 2nd way of doing it, but will for the first. Also what do you guys all recom (6 Replies)
Discussion started by: linuxkid
6 Replies

7. Programming

Executing shell script from PLSQL

Hi All, I have a requirement to mv a file in unix from plsql procedure. for that i have created a java host procedure, a host_command, given all grants as per ORACLE-BASE - Oracle8i Shell Commands From PL/SQL but i am getting an error ""Process err :/bin/sh: mv Not Found"" kindly let me... (1 Reply)
Discussion started by: aryan_styles
1 Replies

8. UNIX for Advanced & Expert Users

Executing a shell script from windows;script present in unix

I need to execute a shell script kept in unix machine from windows. User id, password area available. For eg. There's a shell script wich moves all the logs kept in my home directory to a directory named LOGS. Now i need to get this done through windows; either using a batch file, or java... (4 Replies)
Discussion started by: rajneesh_kapoor
4 Replies

9. UNIX for Dummies Questions & Answers

Executing a Shell Script

I am trying to run a shell script using the ./<ScriptName> command, but the server returns an error bash: ./Script1.sh: Permission denied What variable do I need to set to avoid this? (4 Replies)
Discussion started by: igandu
4 Replies

10. UNIX for Advanced & Expert Users

Shell script is not executing

Hi, I am trying to execute the below shell script: script name(ss1). ss1 was given permission - 744 before executing. name: ss1 #ss1 #usage:ss1 ls who pwd :wq I tried to execute $ss1 (Enter) Its not executing.... It says that ss1 is not found: echo $SHELL. The o/put i got is... (5 Replies)
Discussion started by: dreams5617
5 Replies

Featured Tech Videos