Столкнулся с проблемкой, скрипт /bin/sh не «видит» тильду - home dir. Сам скрипт /usr/bin/ssh-copy-id
Запускаю так: supervisord (user=admin) -> test.js
Сам код на node:
execSync("sshpass -p "pass" ssh-copy-id bla bla", {shell: "/bin/bash"})
Если запускать напрямую в консоле через bash этот скрипт test.js, то нормально. Если через supervosord, то `/usr/bin/ssh-copy-id` - пишет ошибку «mktemp: failed to create directory via template ‘~/.ssh/ssh-copy-id.XXXXXXXXXX’»
Залез в исходники /usr/bin/ssh-copy-id, дописал проверочную строчку:
ls -la ~
directory ls: cannot access '~':
Если я напрямую в script.js пишу и запускаю также через supervisord
execSync("mktemp -d ~/.ssh/ssh-copy-id.XXXXXXXXXX", {
shell: "/bin/bash"
})
то тоже нормально, дира создается в папке /home/admin. Не пойму в чем затык?
Что за херня?