另一個我找不到答案,感覺就像我瘋了一樣。
我有一個BASH腳本,它使用for循環在很多文件(〜5000)上運行一個複雜的命令(許多蛋白質序列比對)。循環產生的語句將在單獨給出時執行(即從錯誤消息複製粘貼到命令提示符),但在循環內返回「無此類文件或目錄」。下面的腳本;實際上還有幾個參數,但是這包括一些代表性參數和文件參數。 BASH語句單獨執行,但在for循環中返回「no such file」
#!/bin/bash
# Pass directory with targets as FASTA sequences as argument. # Arguments to psiblast # Common db=local/db/nr/nr outfile="/mnt/scratch/psi-blast" e=0.001 threads=8 itnum=5 pssm="/mnt/scratch/psi-blast/pssm." pssm_txt="/mnt/scratch/psi-blast/pssm." pseudo=0 pwa_inclusion=0.002
for i in ${1}/* do filename=$(basename $i) "local/ncbi-blast-2.2.23+/bin/psiblast\ -query ${i}\ -db $db\ -out ${outfile}/${filename}.out\ -evalue $e\ -num_threads $threads\ -num_iterations $itnum\ -out_pssm ${pssm}$filename\ -out_ascii_pssm ${pssm_txt}${filename}.txt\ -pseudocount $pseudo\ -inclusion_ethresh $pwa_inclusion" done
運行此腳本給「<腳本名>線<最後一行之前‘完成’>:<嘗試命令>:沒有這樣的文件或目錄。如果我再貼上嘗試命令到提示它將運行 。
這些命令中的每一個需要幾分鐘來運行。
的斜線不應該在那裏,變量給出的絕對路徑再加上常見的文件名後綴。 – 2010-03-25 10:26:55
未引用整個多行命令修復它,謝謝。 – 2010-03-25 10:28:39