[英]SharpSSH with Persistent ShellExec connections
我正在使用SharpSSH连接到SSH服务器,并且尝试使用SshShell和SshExec。 我需要能够接受一系列命令并将它们按顺序发送到服务器,因此SshShell并不能真正满足我的需要,因为我不得不一直纠缠流,而且似乎有点麻烦忽悠。 因此,我尝试了SshExec,但是发现了一个问题,每次我发送命令时,它似乎都建立了新的连接,并且丢失了最后一条命令的上下文。 例如,如果我运行以下命令:
pwd
cd .ssh
pwd
我希望它能输出
/home/adam
/home/adam/.ssh
但是,相反,它两次都只输出“ / home / adam”,这意味着在两次更改之间丢失了目录更改。
有没有一种方法可以配置它,使其保持与SSH服务器的恒定连接,直到我告诉它断开连接?
做这个:
exec.RunCommand("pwd; cd Desktop; pwd")
我不确定如何执行高级命令,但是我尝试了它,并输出:
/Users/MyUser
/Users/MyUser/Desktop
要CD到隐藏目录(任何以点(。)字符开头的目录),您需要将该值括在引号中。
根据文档 :
4)如果目录操作数的第一部分是点或点-点,请继续执行步骤6。
6)将curpath设置为由PWD值,斜杠字符和操作数的串联组成的字符串。
简而言之, cd '.ssh'
应该可以解决问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.