我使用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呢?
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))