Why can I only run a .sh file from the parent directory, not the child directory

view story

http://unix.stackexchange.com – I am a Linux noob. I noticed that this does not work: /tomcatDirectory/bin $ startup.sh //command not found but this does work /tomcatDirectory $ bin/startup.sh I am used to Windows. It seems counter-intuitive to me that I can not run a program from its working directory, only from the parent folder. What's the bigger picture of what's happening here? (HowTos)