Why is it that some bash programs will only run on my system when I type ./ before their name?
An example: In my [...]/android/sdk folders I have to execute adb like this:
./adb devices
Why not just adb devices?
Why is it that some bash programs will only run on my system when I type ./ before their name?
An example: In my [...]/android/sdk folders I have to execute adb like this:
./adb devices
Why not just adb devices?
If you run
echo $PATH
you will see a list of directories that your system will search for commands to run.
If you want to run commands in your current working directory, then you can run:
PATH=$PATH:.;export PATH
You can add this line to your ~/.bash_profile to have this behaviour persistent across sessions.
. is the symbol for your current directory. You have to include the / so it knows that it's not a . at the beginning of the file. If you navigate to a different directory and type the directory of the file, you don't have to have the ./