不是指定要在远程服务器中执行的文件根,而是如何在nodejs的cd
中使用exec()
命令。我所做的是这样的。
var command_part1 = `ssh -p 22 root@ip`;
var command_part2 = `python3 test.py ${input}`;
var folderPath = `/root/folder/`;
var child = exec(`${command_part1} && cd ${folderPath} && ${command_part2}` , function (error, stdout, stderr) {
if (error !== null) {
callback(error)
} else {
callback();
}
});
但是此代码不起作用,当我在本地执行此命令时,仅进行ssh登录,其他命令不起作用。如何使它起作用?我不想指定文件夹路径,例如python3 /root/folder/test.py ${input};
谢谢您的进步
尝试此代码,
`var command = `sshpass -p givePassword ssh -o "StrictHostKeyChecking no" root@ip "cd ${folderPath} && ${command_part2}"`
sshpass
是一个简单轻巧的命令行工具,使我们能够向命令提示符本身提供密码(非交互式密码身份验证),以便可以执行自动的Shell脚本]