如何在exec函数中使用`cd`命令指定文件夹位置?

问题描述 投票:0回答:1

不是指定要在远程服务器中执行的文件根,而是如何在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};

谢谢您的进步

node.js exec cd
1个回答
0
投票

尝试此代码,

 `var command =  `sshpass -p givePassword ssh -o "StrictHostKeyChecking no" root@ip "cd ${folderPath} && ${command_part2}"`

sshpass是一个简单轻巧的命令行工具,使我们能够向命令提示符本身提供密码(非交互式密码身份验证),以便可以执行自动的Shell脚本]

© www.soinside.com 2019 - 2024. All rights reserved.