Visit Our UNIX and Linux User Community


diffrence in executing a shell script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting diffrence in executing a shell script
# 1  
Old 10-19-2009
diffrence in executing a shell script

hi

Could some one let me know what is the diffrence in executing a shell script as below

$sh script.sh (this is executed in a subshell)
$./script.sh(this is executed in the current shell)
$script.sh(this is executed in a subshell)

where script.sh is the name of the shell script.

Iam not clear how they are diffrent. Please explain in detail.

Thank you.
# 2  
Old 10-19-2009
There is no difference in how any of these are executed in that they all fork new shells.

Code:
cat Test
echo $$


echo $$; ./Test
13426784
12693590

The first one will run the script using sh, overriding what the shebang (1st line of your script says (i.e. #!/usr/bin/ksh)).

Code:
cat Test
#!/usr/bin/ksh
pushd

./Test
./Test[2]: pushd:  not found.

> bash ./Test
./Test: line 2: pushd: no other directory

It will run the script whether it's executable or not.

The second one will run the script from the current directory (./script.sh), overriding any other script.sh which is in the path.

The last one will run the first script.sh it finds in the path, not the current directory.

Code:
> ls -l Test
-rwx------    2 me     mygroup             21 Oct 19 10:15 T

> Test
ksh: Test: not found.

> PATH=.:$PATH

> Test
./Test[2]: pushd:  not found.

You missed one:

Code:
. ./script.sh

This will run script.sh in the current shell:
Code:
> cat Test
echo $$

> echo $$; . ./Test
13426784
13426784


Previous Thread | Next Thread
Test Your Knowledge in Computers #792
Difficulty: Easy
In mathematics and digital electronics, a binary number is a number expressed in the base-2 numeral system or binary numeral system.
True or False?

10 More Discussions You Might Find Interesting

1. 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

2. Shell Programming and Scripting

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 sh myscript.shI always execute a script by typing the script name and typing enter provided PATH variable has . (current directory) in it myscript.sh (and... (1 Reply)
Discussion started by: John K
1 Replies

3. 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

4. Shell Programming and Scripting

Shell script executing both the conditions.

I have written this script. This is used for creating a backup folder. #!/bin/sh #set -x . /home/.profile usage="Usage is $0" usage="$usage " # Use the getopt utility to set up the command line flags. set -- `/usr/bin/getopt b: $*` # Process individual command line arguments while ;... (1 Reply)
Discussion started by: arijitsaha
1 Replies

5. 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

6. 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

7. Shell Programming and Scripting

Diffrence b/w shell script and perl script

Hi, Could anyone please tell me what are basic diffrence between a shell and a perl scipt i.e where to use shell scripting and where perl scripting? I want to know advantages of shell script over perl script and advantage of perl script over shell script. Thanks, Yogi (3 Replies)
Discussion started by: bisla.yogender
3 Replies

8. UNIX for Dummies Questions & Answers

executing uname through shell script

Hi, I need to write a shell script that executes the command uname -a the output i get is of the format : FreeBSD test.trial.machine.com 4.5-RELEASE FreeBSD 4.5-RELEASE #0: Mon Jan 28 14:31:56 GMT 2000 tester@builder.freebsdmall.com:/usr/src/sys/compile/GENERIC i386 (this is all in a... (3 Replies)
Discussion started by: HIMANI
3 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