Я хочу удаленно запустить скрипт node.js, содержащий строки shebang - ssh
, так же, как при локальном запуске.
myscript
файл:
#!/usr/bin/env node
var param = process.argv[2] || 'help';
//... other js code
При локальном запуске на каждом хосте - например, myscript arg1
- успешно работает. При удаленном запуске на «сестринском» узле в кластере (содержащем ту же структуру файлов и каталогов, включая node
и myscript
):
ssh -o "PasswordAuthentication no" bob@123.1.2.3 /path/to/myscript arg1
Я получаю /usr/bin/env: ‘node’: No such file or directory
ошибку.
Я пропускаю ssh
параметр / параметр?
Сведения о режиме: если я запускаю
ssh -o "PasswordAuthentication no" bob@123.1.2.3 echo "hello"
Это также отлично работает. Простите, это очевидно для вас, я не продвинутый пользователь Linux, руководство ssh выглядело немного подавляющим и попробовало пару найденных здесь ответов безуспешно:
- Что именно делает "/ usr / bin / env node" в начале файлов узлов?
- Запускать сценарии удаленно через SSH
- как запустить файл скрипта удаленно, используя ssh