Я пытаюсь выполнить скрипт bash через Node.js, используя child_process.exec()
. Однако он дует на второй строке файла: вернулсяЗапуск скрипта bash через Node.js - Неверный вариант -o pipefail
#!/usr/bin/env bash
set -eo pipefail; [[ $TRACE ]] && set -x
echo "we are here"
Ошибка:
/bin/sh: 2: set: Illegal option -o pipefail
Почему это происходит? Когда я запускаю скрипт вручную, а не из узла, он работает нормально. Вот код Node.js:
var child = child_proc.exec(bashScript, {
env: _.extend(process.env, {
'LB_HOST': config.loadBalancers.lb1
}),
timeout: 0
});
child.stdout.pipe(process.stdout);
child.stderr.pipe(process.stderr);
оболочки по умолчанию для '/ bin/ш 'согласно https://nodejs.org/api/child_process.html#child_process_child_process_exec_command_options_callback - может быть, это и есть причина? –