execution of a script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting execution of a script
# 1  
Old 01-18-2012
execution of a script

Hi

i have a small script like this
Code:
  $ cat test.sh
#!/usr/bin/sh
name="ram"
echo ${1}
set 1 2 3 4 5 6 7 8 9 0 123 o870
echo $9
echo ${12}

when i am trying to execute like below i am not getting the output

Code:
jena samp_perl $ sh test.sh
test.sh: This:  not found

but when i executing like below i am able to get the output
Code:
jena samp_perl $ ./test.sh 1
1
9
o870

so may i know wt is the difference between two types of executions and why i am not able to get the output when i tried like this sh test.sh...


please help me in this.. thanks in advance

Moderator's Comments:
Mod Comment Please use next time code tags for your code and data

Last edited by vbe; 01-18-2012 at 09:55 AM.. Reason: code tags
# 2  
Old 01-18-2012
you have no value in $1 in the first invocation, thus ${1} fails and your script exits.
# 3  
Old 01-18-2012
It works for me.

Even if ${1} in echo ${1} is not defined, the statement will result to echo and should output an empty line.

Can you paste the output of sh -x test.sh

--ahamed
# 4  
Old 01-18-2012
What happens when you replace echo ${1} with echo "${1}" ?
-also-
What does ./test.sh produce?

Last edited by Scrutinizer; 01-18-2012 at 10:01 AM..
# 5  
Old 01-18-2012
I think you have two scripts called test.sh . One is in the current working directory (./test.sh) and the other one is somewhere which can be found though $PATH (sh test.sh).
To find the duff one:
Code:
whence test.sh
# Or if your Shell doesn't have the "whence" command:
type test.sh

Interestingly if your current directory is not in $PATH the "sh test.sh" won't find the test.sh in your current directory.

Last edited by methyl; 01-18-2012 at 01:33 PM..
# 6  
Old 01-18-2012
@Methyl, but according to the POSIX specification:
Quote:
sh [-abCefhimnuvx] [-o option]... [+abCefhimnuvx] [+o option]...
[command_file [argument...]]
[..]

command_file
The pathname of a file containing commands. If the pathname contains one or more <slash> characters, the implementation attempts to read that file; the file need not be executable. If the pathname does not contain a <slash> character:
  • The implementation shall attempt to read that file from the current working directory; the file need not be executable.
  • If the file is not in the current working directory, the implementation may perform a search for an executable file using the value of PATH , as described in Command Search and Execution .
sh

Perhaps if it is a non-compliant shell ?
# 7  
Old 01-18-2012
On any system I've come across you would only definitely execute a script in the current directory with "sh scriptname" or just "scriptname" if you had a "." at the start of $PATH.
We routinely remove the "." from $PATH because it is a security risk.

Have you come across a unix where "sh scriptname" works for the current directory when there is no "." in $PATH ?

Ps. Forget to suggest checking for an alias.
Code:
alias | grep "test.sh"


Last edited by methyl; 01-18-2012 at 01:30 PM..
This User Gave Thanks to methyl For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Script execution

I need to call a script if the month end falls on Saturday or Sunday (5 Replies)
Discussion started by: bala1985
5 Replies

2. Shell Programming and Scripting

Freezes up execution of the script

My script that I wrote is no longer running, but just freezing when I execute it. Before it was running and showing me where errors were, now when I execute it, nothing happens and i cant type anything into the command screen. The script was a looping script, what could be going on? (8 Replies)
Discussion started by: MJCreations
8 Replies

3. Solaris

Script on Solaris spawning 2 processes for one shell script execution

Hi, I am having a shell script on Solaris 10 which has a while loop as shown below. #!/usr/bin/ksh # while do sleep 60 done Name of the shell script is coldcentric.sh. I executed script /DATAWAREHOUSE/LOAD/Scripts/coldcentric.sh from a command task in Informatica worklow as... (3 Replies)
Discussion started by: chekusi
3 Replies

4. Emergency UNIX and Linux Support

invoke one script based on previous script execution

I am database guy and not very good at shell scripts. I am seeking help to sharp my script coding. I have 5 scripts 1. master script. I use this one to call other four scripts to do database work. 2. db_backup_1 and log_backup_1 3. db_backup_2 and log_backup_2 in master script, I want to... (4 Replies)
Discussion started by: duke0001
4 Replies

5. UNIX for Advanced & Expert Users

SSH using shell script terminates the script execution

Hello, I am writing a shell script in which i do ssh to remote server and count the number of files there and then exit. After the exit the shell script terminates which i believe is expected behavior. Can some one suggest me a way where even after the exit the script execution resumes. ... (2 Replies)
Discussion started by: manaankit
2 Replies

6. Shell Programming and Scripting

Script Execution

Hello all, I generally get 6 or more files at location /usr/example.Files listed below er 1 2 3 9.txt er 2 2 3 9.txt er 3 2 3 9.txt er 4 2 3 9.txt abc.next del pa.txt cr ad.txt ps tr as er.txt Now the issue is i need to transfer 2 files (one file is fixed called abc.next) at a... (12 Replies)
Discussion started by: j_panky
12 Replies

7. Shell Programming and Scripting

Expect Issue Serial Forground Execution vs Concurrent Background Execution

I have an expect script that interrogates several hundred unix servers for both access and directories therein using "ssh user@host ls -l /path". The combination of host/path are unique but the host may be interrogated multiple times if there are multiple paths to test. The expect script is run... (2 Replies)
Discussion started by: twk
2 Replies

8. Shell Programming and Scripting

Script to carry-over the script execution to another system

The situation is like this. If I need to know the parameters of all the unix servers connected to a common network, is it possible to get all the parameter details of all the system with the help of a script written in one server?? Can a script be written like that ? Let me give some... (3 Replies)
Discussion started by: yuvanash
3 Replies

9. Shell Programming and Scripting

help on script execution

Hi, Please help me on the below code of line of what it actually does ${Script_dir}/scrip1.sh & export script1_pid=$! ${Scipt_dir}/script2.sh & export script2_pid=$! ${Scrip_dIR}/script3.sh & export script3_pid=$! wait ${script1_pid} //could u tell me wht this... (8 Replies)
Discussion started by: sussane
8 Replies

10. UNIX for Dummies Questions & Answers

pb with script execution

Hello, Can somebody tell me the differnce between a call of a ksh with the dot : >. script.ksh and the call without the dot: >script.ksh In my script I have writen a test for the number of parameters: if then echo 'Usage : '$0 exit 1 fi as my script doesn't need any... (3 Replies)
Discussion started by: Cecile
3 Replies
Login or Register to Ask a Question