5

I would like to know if there is any man page documenting the construction of the most basic script commands like if/then/else, while, for each, and all the relative switches, like -eq, -e, -ge, and so on.

ludiegu
  • 1,647

3 Answers3

7

You have to look at the manual for the specific shell you are using as the exact syntax for using these constructs can vary between shells. Most likely you are using bash, so you would do man bash. Although there are many cases where you might be using something else. For example many distros use a POSIX shell for boot scripts (eg Debian uses dash) or a least use bash in POSIX compliant mode. Usually you can do man sh to get the documentation in this case (this will be linked to the man page for the shell used if it is not the original sh or Bourne shell).

If you are unsure which shell you are using, see this question - determine shell in script during runtime

Another thing work mentioning is the help builtin for bash, it gives an abbreviated version of what is in the manual for the various builtin commands/flow control statements etc. You can use help on its own to see a full list of what is available, otherwise you can try things like help if, help for, help test and help [.

Graeme
  • 34,027
6

Have a look at the man page for the shell you're using. For bash, the flow control statements are documented under 'SHELL GRAMMAR' -> 'Compound Commands'.

Flup
  • 8,145
1

These are builtins of the shell you are using. So, man bash or equivalent for your shell. Particularly for bash, the man page is not too long and a very good read. Go through it and you will have a much better feeling what's possible and how stuff works (at least you know it exists for future reference).

orion
  • 12,502
  • 3
    builtins usually refers to commands that are built into the shell as opposed to executed from files in the filesystem, not to keywords in the shell syntax like if/then/else. – Stéphane Chazelas Mar 05 '14 at 10:22