This builtin is so overloaded that it deserves its own section. So here it is. Mark variables which are modified or created for export. Exit immediately if a command exits with a non-zero status. All keyword arguments are placed in the environment for a command, not just those that precede the command name.
Job control is enabled.
Read commands but do not execute them. Exit after reading and executing one command. Print shell input lines as they are read. Print commands and their arguments as they are executed. Save and restore the binding of the name in a for command.