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.
You can use the command ` echo $SHELL` to determine user's or system shell. I came across this today:-
echo ${0}
and that produces the same thing. I've checked with man bash but I've not seen (or noticed) that use of parameters are there any docs that mention this use?
Just like the positional variables $1, $2, ... represent argument 1, argument 2, ... the variable $0 represents argument 0, which in Unix is the path used to execute the current process.
So, if you excecute `echo $0` in a terminal, it will probably show you the name of the shell, because the shell is the current process. I am not sure but I will try it. This will probably not apply in a shell script.
0 Expands to the name of the shell or shell script. This is set at shell initialization.
If bash is invoked with a file of commands, $0 is set to thename of that file. If bash
is started with the -c option, then $0 is set to the first argument after the string to
be executed, if one is present. Otherwise, it is set to the file name used to invoke bash,
as given by argument zero.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.