Skip to main content

How does Shell find out which command/script I am trying to execute?

This is nothing new but yet I thought why not document it so that its etched into my memory Smile (Ya I know I am selfish Smile with tongue out)

When you run a command or try executing a shell script, the shell first tries to look if your script is found in the Current Directory. To execute a shell script you should be in the same directory where it was created/written.

Now this isn’t possible always – so what to do? There are two ways:

 

Method 1 -

When you are executing the script, give the full path to the script!

Now if you go by the usual file/folder structure in most of the software engineers – you can go crazy with the paths – the depth at which the script is found can drive you insane Surprised smile 

So thankfully we have another way Smile

 

Method 2 -

Add the folder of your script to the PATH variable. What I suggest is create a folder for all your scripts – say myScripts and then add this to your PATH variable.

If you are new to using the PATH variable, I suggest you go through this link on PATH variables

 

So here is how the shell looks for its script to execute: ( I created a small illustration of the same Smile )

image

 

Hope this helps!!!

Comments

Popular posts from this blog

wget error–“zsh: parse error near &”

There is no doubt that I prefer wget way over any other type of downloads… Syntax: wget <DOWNLOAD_URL>   If you get this error “ zsh: parse error near & ” then its probably because your download URL has a “&” so you should try giving your DOWNLOAD_URL in double quotes wget “<DOWNLOAD_URL>”   If you are trying to download from a site which needs you to give your credentials then you can try giving it this way wget --http-user=<UserName> --http-password=<Password> “<DOWNLOAD_URL>”   Hope this helps

How to Unpack a tar file on Windows?

On Windows: You can download a simple command line tool to do this. You can download the tool from here Usage can be found on the website but pasting it here too for convenience: C:\>TarTool.exe Usage : C:\>TarTool.exe sourceFile destinationDirectory C:\>TarTool.exe D:\sample.tar.gz ./ C:\>TarTool.exe sample.tgz temp C:\>TarTool.exe -x sample.tar temp TarTool 2.0 Beta supports bzip2 decompression for files with extensions like tar.bz2 and .bz2 . TarTool -xj sample.tar.bz2 temp or TarTool -j sample.bz2 Download TarTool 2.0 Beta from here Unpack a .txz file on Windows Use the 7zip tool  to unpack a .txz file on windows On Linux: You can use the bzip2 and tar combined to do this… for ex: bzip2 –cd <tar.bz_fileName> | tar –xvf - This will unpack the contents of the tar.bz file Happy Un-Tar-ing

Ubuntu: "Unlock login keyring" message "the password you use to log in your computer no longer matches that of your login keyring"

Resetting all the keyring passwords:  Navigate to  Places > Home . Press  ctrl   h  t o view "hidden files". Navigate to  .gnome2 > keyrings and delete   login.keyring Using the same keyring (resetting keyring password but keeping old passwords in keyring): 1) Make a backup of the keyring cd ~/.local/share/keyrings/ cp login.keyring login.keyring.backup and after that delete  login.keyring  file rm ~/.local/share/keyrings/login.keyring 2) Create a new keyring file from Gnome Keyring with the name "login" 3) Replace the new keyring file with the backup of the old keyring file cd ~/.local/share/keyrings/ mv login.keyring.backup login.keyring Note: before Ubuntu 12.10 the path to the keyrings folder was   ~/.gnome2/keyrings/   instead of  ~/.local/share/keyrings/