Configure a default shell for all commands

It’d be nice to be able to set shell options for all commands in a given job/workflow/config file. This was asked already in https://discuss.circleci.com/t/config-for-all-shell-commands/10199 (which is locked), but the answer there:

https://discuss.circleci.com/t/config-for-all-shell-commands/10199/3

isn’t quite right: CircleCI added -eo pipefail to the default options, but the default options themselves are still not configurable. E.g., if I wanted to use the -x option, I would need to manually go through every one of the commands in my config file and add it as an option.

You can define the shell at the job level instead of the run level:

https://circleci.com/docs/2.0/configuration-reference/#job_name

2 Likes