quote even the variables whereever possible(specially for multiword arguments) back quotes and variables evaluation($) require double quotes and not single quotes be liberal with whitespaces when using test /dev/tty utility: if messages just meant to draw users attention are not redirected to /dev/tty....they will be served as input to wherever the script output is being piped or redirected \c:to place the cusor and prompt in the same line which idisplays the output the interpreter line decides the shell with which a script is executed....even if u explicitly run it as shell_name scrpt_name.....