I always thought that #!/usr/bin/ksh means that the script would be executed in korn shell i.e. when we'll execute the script with this line as the very first line then the shell spawns a korn shell (in this case as we are using #!/usr/bin/ksh ) and the script gets executed.
But I am not sure if my understanding is correct because I tried to execute a script with #!/usr/bin/ksh
as below:
from a GUI tool. The script failed! with the following error The snippet of the code which was giving problem
But when I executed it as below:
it succeeded.
I came accross this link: https://www.unix.com/shell-programmin...sh-script.html
which means that even if we use #!/usr/bin/ksh line we should not feed a korn shell script to sh shell??
The default shell is
Please execuse me if you think my question is very basic.
-dips
You are asking your script to execute as a bourne script by prefacing it with "sh".
For kicks and giggles, try the following:
Remove the "#!/blah/blah" from the first line of your script. Then try to run the script with the following command:
You will see that the line indicating the "intended" shell, is overridden by telling it explicitly which interpreter to use.
For kicks and giggles, try the following:
Remove the "#!/blah/blah" from the first line of your script. Then try to run the script with the following command:
I did that and yes the script executed fine with no errors.
Quote:
The first line is treated like a comment since it starts with a "#".
If this is a comment then why we need it? Is it just to tell others that a particular script is intended for which shell?
Please be patient with me and explain this
Actually, you can execute a script without sh, ksh, bash, perl, ... in front of the name on the said script.
If so, the shebang is used to determine which program to call to execute the script.
In that case, you have to make your script executable with something like chmod +x /path/to/your_script
Hope it's clear enough. Others members will surely add more comments and explanations.
I see lot of ad-hoc shell scripts in our servers which don't have a shebang at the beginning .
Does this mean that it will run on any shell ?
Is it a good practice to create scripts (even ad-hoc ones) without shebang ? (16 Replies)
Hi ,
I know about the shebang line in shell scripting. Just want to know whether is there any difference in execution of the program by keeping and not keeping the shebang line. Because without shebang line also the script is working. correct me if am wrong. Any help on this will be helpful (5 Replies)
Hi,
I have a trivial question to ask, I am seeing in some shell scripts the '-' (hyphen) character following the first line of shell script (i.e) the shebang notation as follows:
#!/bin/sh -
#! /bin/bash -
what does the hyphen signify? What will happen if it is not given explicitly? (2 Replies)
*** EDIT: I found something close to my solution under an IIS 7 Module Handle.*****
(Non-Homework question, simply an ease of use one)
Odd question here and maybe its my newness to cgi/Perl, but is it possible to have 2 shebang lines?
I write an test a ton of my homework code on my windows... (1 Reply)
Can any one tell me how to replace a shebang line of a file using sed?
Eg: If a file contains the following shebang line
#!C:/InstantRails/ruby/bin/ruby
I would like to replace it with
#!/usr/local/bin/ruby
The shebang line of the file can be obtained from the command
cat... (3 Replies)
Do we need to include the exclamatory mark in the shebang line??:confused:
What if we dont include it??:eek:
Actually what shebang line implies when we run a script??
shebang line--> #!/bin/ksh :p (6 Replies)
Hi,
I am currently writing BASH shell scripts. I am using BASH on a Powerbook G4 running Leopard. Could somebody please explain the difference between
#!/bin/bash and #!/bin/sh?
I have been using the latter (#!/bin/sh), and things have been working fine. But is that the correct one to use... (9 Replies)