无法导航到远程Linux机器上的所需文件夹,我该如何使用paramiko?

我使用Pyhton paramiko和我的网站服务器有像这样的文件夹结构 –

1]dir1 --dirP --dirQ 2]dir2 --dirA --file.sh --dirB 3]dir3 

我想从dir2里面的dir2文件夹访问file.sh

我试过这个 –

 import paramiko client.connect('mysite.com', username='something', password='something') stdin, stdout, stderr = client.exec_command('cd dir2') stdin, stdout, stderr = client.exec_command('ls') for line in stdout: print('... ' + line.strip('\n')) 

但我得到输出 –

  ...dir1 ...dir2 ...dir3 

预期产出是 –

 ...dirA ...dirB 

也build议如何执行file.sh呢?

Solutions Collecting From Web of "无法导航到远程Linux机器上的所需文件夹,我该如何使用paramiko?"

client.exec_command("cmd ...")就像命令ssh user@host "cmd ..."

 client.exec_command('cd dir2') client.exec_command('ls') 

就像

 ssh user@host 'cd dir2' # this would not affect the following `ls' ssh user@host 'ls' 

。 所以你需要这样做:

 client.exec_command('cd dir2; ls') 

这就像

 ssh user@host 'cd dir2; ls' 

或者如果你使用变量需要添加+例如

 client.exec_command('str(var1)+str(var2))