Я хочу удаленно запустить сценарий node.js, содержащий shebang line - ssh
, точно так же, как при локальном запуске.
myscript
файл:
#!/usr/bin/env node
var param = process.argv[2] || 'help';
//... other js code
При работе локально на каждом хосте - например, myscript arg1
- работает успешно. При удаленной работе на «сестринском» узле в кластере (содержащем ту же структуру файлов и каталогов, включая node
и myscript
):
ssh -o "PasswordAuthentication no" [email protected] /path/to/myscript arg1
Я получаю /usr/bin/env: ‘node’: No such file or directory
ошибку.
Мне не хватает ssh
параметра / параметра?
Детали режима: Если я бегу
ssh -o "PasswordAuthentication no" [email protected] echo "hello"
Тоже нормально работает. Простите меня, это очевидно для вас, я не продвинутый пользователь Linux, руководство по ssh показался немного подавляющим, и безуспешно попробовал пару ответов, найденных здесь:
node
одинаково установлен на всех узлах кластера? - person Tim Klein   schedule 26.03.2019ssh -o "PasswordAuthentication no" [email protected] bash -c "/path/to/myscript arg1"
- person Michał Karpacki   schedule 26.03.2019node
иmyscript
установлены в одном месте; и нет, bash -c ... не получил другого результата. - person Ricardo   schedule 27.03.2019