Você pode produzir o padrão se o grep falhar:
var=$( grep -e '^setting_1' || echo default_setting )
Note que você não fechou as aspas (e sem o argumento file, o grep irá filtrar o stdin).
Existe alguma maneira de realizar o seguinte em um único golpe usando o Bash?
my_var=${$(grep -E '^setting_1' /settings.conf):-default_setting1}
Em oposição a:
my_var=$(grep -E '^setting_1' /settings.conf); my_var=${my_var:-default_setting}