ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
For my username korn shell is default, i was trying to run that on bash by keeping it on top line of script. I hope that runs it on bash irrespective of what shell is defined for me right ?
It's Working !!... and it has resolved the problem... i was running it as sh <script_name>.sh, but when i ran it as ./<script_name>.sh it worked.
Can you please explain why it is differnt and how can i test it manually ? By this was i can only test in by putting this in script, i was trying to test each line by line, but that takes the default shell. Korn shell dosen't support array ?
"sh scriptfile" means: dear sh, execute this script; while "./scriptfile" means: dear kernel, find out (from the first line) what program interprets this scripts, then start that interpreter (bash, in this case, but could have been anything else like perl, php, python etc), and give it 'scriptfile' as parameter -- the the interpreter opens, reads and executes 'scriptfile'.
Last edited by NevemTeve; 12-27-2012 at 11:20 AM.
Reason: typo
Notice too that the first line of the shebang is "#", which means that when you give the file to a shell as an argument, it will be ignored as a comment.
The shebang only has special meaning when the file is executed directly, as explained above.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.