batch file equivalent for Unix

i was trying to do a simple batch file equivalent in Unix

when i write a single command in a file, give executable permissions and run it (i gave the file name as a command at the prompt), it works fine.
but when i have more than 1 command, say my file has

a.out
ls
ls
a.out

it doesnt recognize any of the commands. any suggestions ....
do i need to do in different way? please help

Thanks

Unlike DOS, your PATH must reference the current directory or you must reference the location of your executable.

a.out

would look like this to execute it from your current directory:

./a.out

Alternatively but discouraged, you would specify . in your PATH variable.  For example:
export PATH=$PATH:.

by the way, ls should not be failing in the script.