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.
3 Answers
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 [.
- 
        +1 for mentioninghelp. Note that[is simply an alias oftest, and is not part of conditional statement syntax.user3730– user37302014-03-05 15:15:23 +00:00Commented Mar 5, 2014 at 15:15
- 
        This.helpis pretty much what I needed.ludiegu– ludiegu2014-03-06 10:44:30 +00:00Commented Mar 6, 2014 at 10:44
- 
        @nyuszika7h, yup, that's exactly whathelp [says!Graeme– Graeme2014-03-06 10:55:43 +00:00Commented Mar 6, 2014 at 10:55
- 
        Note that thebash(1)man page is absurdly long on most systems. IMHOman(1)is a poor interface for reading it.Kevin– Kevin2015-11-10 02:14:13 +00:00Commented Nov 10, 2015 at 2:14
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'.
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).
- 
        3builtins 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 likeif/then/else.Stéphane Chazelas– Stéphane Chazelas2014-03-05 10:22:00 +00:00Commented Mar 5, 2014 at 10:22
