【发布时间】:2011-08-09 20:57:08
【问题描述】:
我是新的 paramiko 用户,在使用 paramiko 的远程服务器上运行命令时遇到困难。我想导出一个路径并在后台运行一个名为tophat 的程序。我可以使用paramiko.sshclient() 正常登录,但我的exec_command 代码没有结果。
stdin, stdout, sterr = ssh.exec_command('export PATH=$PATH:/proj/genome/programs
/tophat-1.3.0/bin:/proj/genome/programs/cufflinks-1.0.3/bin:/proj/genome/programs/
bowtie-0.12.7:/proj/genome/programs/samtools-0.1.16')
stdin, stdout, sterr = ssh.exec_command('nohup tophat -o /output/path/directory -I
10000 -p 8 --microexon-search -r 50 /proj/genome/programs/bowtie-0.12.7/indexes
/ce9 /input/path/1 /input/path/2 &')
没有nohup.out 文件,python 只是转到下一行,没有错误消息。我也试过不使用nohup,结果是一样的。我试图关注this paramiko tutorial。
我是否错误地使用了exec_command?
【问题讨论】:
-
第二个命令在与第一个不同的 shell 中运行,因此
export将无效。 -
您最好将环境变量放在一行中。即:
ssh.exec_command('PATH=/bin:/usr/bin:etcetera nohup ...');这将只为单个命令导出它,这正是您想要的。