From SkyWiki

Jump to: navigation, search

Bash manual page: HTML ASCII


BASH command shell syntax


set print current environment variables

export [set] <VARIABLE>=<VALUE> set environment variable


   for name [in words ...]; do commands; done

Expand words, and execute commands once for each member in the resultant list, with name bound to the current member. If ‘in words’ is not present, the for command executes the commands once for each positional parameter that is set, as if ‘in "$@"’ had been specified (see Special Parameters). The return status is the exit status of the last command that executes. If there are no items in the expansion of words, no commands are executed, and the return status is zero.

also see Looping Constructs


  if test-commands; then
  [elif more-test-commands; then
  [else alternate-consequents;]

The test-commands list is executed, and if its return status is zero, the consequent-commands list is executed. If test-commands returns a non-zero status, each elif list is executed in turn, and if its exit status is zero, the corresponding more-consequents is executed and the command completes. If ‘else alternate-consequents’ is present, and the final command in the final if or elif clause has a non-zero exit status, then alternate-consequents is executed. The return status is the exit status of the last command executed, or zero if no condition tested true.

also see Conditional Constructs

variable expansion

$? Expands to the exit status of the most recently executed foreground pipeline.

$! Expands to the process id of the most recently executed background (asynchronous) command.

also see Special Parameters

Personal tools