The shell processes commands as a series of tokens separated by unquoted space, tab, ||, && and ; characters. The first token specifies the command to be executed and is passed as the first argument, all the remaining tokens are passed as parameters to the command.
Each command exits with a status, this status is represented by a number between 0 and 255. A command which exits with a status of 0 has succeeded any other value is taken to indicate a failure.
The shell itself will return the status of the last command it executed or the value specified if using the exit command.