Usually, no, the terminal does not pass any options to
bash does, however, assume a set of default options depending on how it was invoked. From
man bash, section
An interactive shell is one started without non-option arguments and
without the -c option whose standard input and error are both connected
to terminals (as determined by isatty(3)), or one started with the -i
option. PS1 is set and $- includes i if bash is interactive, allowing
a shell script or a startup file to test this state.
An interactive shell further activates other options.
Further some defaults apply based on the invocation name (
bash). Reading on (section on
-h Remember the location of commands as they are looked up
for execution. This is enabled by default.
-m Monitor mode. Job control is enabled. This option is
on by default for interactive shells on systems that
support it (see JOB CONTROL above)
-B The shell performs brace expansion (see Brace Expansion
above). This is on by default.
-H Enable ! style history substitution. This option is on
by default when the shell is interactive.
Combined, simply invoking
bash on a terminal will enable these options.
You can confirm this by checking the value of the
$- special variable:
$ echo $-
An additional option that maybe set is if your terminal is set to start login shells. In that case
-l is explicitly passed by the terminal as an option.