Is it possible to use /bin/bash for all commands instead of /bin/sh ?
this is not possible, but you can put your build commands in a shell script and execute that with bash:
pipeline:
build:
image: ubuntu
commands:
- /bin/bash build.sh
The reason we use /bin/sh
is because it is, per the unix standard, available in every single docker image, where /bin/bash
is generally not available and therefore not an appropriate default.
Forgot to mention we are exposing the internals of the yaml compiler, so one could use a plugin to override the default behavior and use bin/bash. Tracking https://github.com/drone/drone/issues/1863
As a workaround one could do:
commands:
- >
bash -s <<SCRIPT
env
ls -lha
SCRIPT
(that empty line before SCRIPT
is a MUST)