При выпуске grunt shell:test я получаю предупреждение "устройство ввода не является TTY" и не хочет использовать -f:
$ grunt shell:test
Running "shell:test" (shell) task
the input device is not a TTY
Warning: Command failed: /bin/sh -c ./run.sh npm test
the input device is not a TTY
 Use --force to continue.
Aborted due to warnings.
Здесь команда Gruntfile.js:
shell: {
  test: {
    command: './run.sh npm test'
  }
Здесь run.sh:
#!/bin/sh
# should use the latest available image to validate, but not LATEST
if [ -f .env ]; then
  RUN_ENV_FILE='--env-file .env'
fi
docker run $RUN_ENV_FILE -it --rm --user node -v "$PWD":/app -w /app yaktor/node:0.39.0 [email protected]
Здесь соответствующий package.json scripts с командой test:
"scripts": {
  "test": "mocha --color=true -R spec test/*.test.js && npm run lint"
}
Как я могу получить grunt, чтобы сделать docker счастливым с TTY? Выполнение ./run.sh npm test вне работы grunt отлично:
$ ./run.sh npm test
> [email protected] test /app
> mocha --color=true -R spec test/*.test.js && npm run lint
[snip]
  105 passing (3s)
> [email protected] lint /app
> standard --verbose