我正在使用SharpSSH连接到SSH服务器,我尝试使用SshShell和SshExec。 我需要能够接受一系列命令并按顺序将它们发送到服务器,所以SshShell并没有真正做到我需要的东西,因为我必须在整个时间内纠缠流,似乎它会有点像一个kludge。所以我尝试了SshExec,但发现它有一个问题,每次发送命令时,它似乎都在建立一个新的连接并丢失最后一个命令的上下文。例如,如果我运行以下命令:
pwd
cd .ssh
pwd
我希望它能输出
/home/adam
/home/adam/.ssh
但是,它只是两次输出“/ home / adam”,这意味着目录更改在两者之间丢失。
有没有办法可以配置它,以便它保持与SSH服务器的持续连接,直到我告诉它断开连接?
答案 0 :(得分:2)
这样做:
exec.RunCommand("pwd; cd Desktop; pwd")
我不确定如何进行高级命令,但我尝试了它并输出:
/Users/MyUser
/Users/MyUser/Desktop
答案 1 :(得分:1)
要cd到隐藏目录(任何以点(。)字符开头的目录),您需要将值括在引号中。
4)如果目录操作数的第一个组件是点或点,请继续执行步骤6.
6)将curpath设置为由PWD值,斜杠字符和操作数的串联形成的字符串。
简而言之,cd '.ssh'
应该可以解决问题。