A deployment script runs fine as ./deploy.sh on my Ubuntu machine, but on the target it is started with sh deploy.sh and stops with Syntax error: "(" unexpected at the line targets=(web db cache). After I rewrote that line, the next failure was [[: not found.
I thought sh and bash were the same shell. What is the actual difference, and how should I write the script so it works in both places?




