The cross-env-shell binary is used when you need to execute an entire inline shell script or when you want environment variables to apply to multiple commands in a series.
Rule of thumb: Use cross-env-shell if your command contains special shell characters (like && or $VAR) that you want the shell to interpret. Otherwise, use cross-env.
On Windows, use cross-env-shell if you need to handle signal events (like SIGINT via Ctrl + C) inside your program.
{
"scripts": {
"greet": "cross-env-shell GREETING=Hi NAME=Joe \"echo $GREETING && echo $NAME\""
}
}