我是一個新的paramiko用戶,並且在使用paramiko在遠程服務器上運行命令時遇到困難。我想導出一個路徑,並在後臺運行一個名爲tophat
的程序。我可以用paramiko.sshclient()
登錄,但我的代碼爲exec_command
沒有結果。基本paramiko 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 ...')';這將只爲單個命令導出它,這正是你想要的。 –