我正在尝试使用Parallels VM作为构建服务器。我已经在其上设置了sshd
,并将其配置为允许我使用安全密钥进行连接。我可以使用node-ssh
包成功连接。Parallels已经很好地在我的Mac上安装了我的本地Desktop
文件夹,所以在我的脚本中,我尝试这样访问它:
await ssh.execCommand('cd /home/parallels/Desktop');
但是,由于某种原因,当前工作目录永远不会更改。
let result = await ssh.execCommand('pwd');
console.log(result.stdout); // outputs: /home/parallels
我还检查了result.code
和result.stderr
,没有任何迹象表明出了什么问题--编程API完全不允许我导航到这个文件夹。然而,我可以在我的Mac上使用VM或常规ssh
来访问它。
发布于 2020-02-08 09:34:01
在ssh服务器上执行的命令(通常)是对用户shell的单独调用,这意味着不会持久保存当前工作目录(以及其他内容)。
最好的办法是在cd <path> &&
中预先添加任何命令,以便首先更改到正确的目录。唯一的另一种选择是使用交互式shell会话,但是以编程方式使用要困难得多,因为它被设计为供人类使用。
https://stackoverflow.com/questions/60117965
复制相似问题