2017-06-02 84 views
0

我想創建一個bash腳本,它將根據文件類型循環一組文件,然後用文件名創建一個目錄,然後通過javascript運行該文件,將它輸出到創建的目錄中。Unix Bash腳本運行但沒有輸出

#!/bin/bash 

FILES=/home/ndevon/BRAD/Original_Files/*60_R1.fastq.gz 
for f in $FILES 
do 
    echo mkdir $f 
    echo nohup /home/pszoevenyi/executables/FastQC/./fastqc [-t 2] [-o $f] [- 
f fastq] $f & 
done 

但是,當我運行這一切似乎工作正常,但沒有輸出。我使用ps x檢查了活動作業,它告訴我隊列中有一個-bash命令類型,但它有一個Ss狀態。我對unix和bash非常陌生,實際上我今天就開始了,但我無法弄清楚爲什麼這樣做不起作用。

謝謝

+0

無論如何,至少應該看到'mkdir/home/ndevon/BRAD/Original_Files/* 60_R1.fastq.gz',你應該得到一些輸出......請用你看到的更新你的問題,以及你如何運行它。我可以看到一些問題:你正在嘗試對文件名進行mkdir等。如果你的文件名包含空格,這也會有問題,但我會假設你沒有。 – blackghost

+0

是的,你應該看到輸出。但是我看到另一個問題:您將嘗試創建一個與現有文件名稱相同的目錄 - 這是行不通的。 – linuxfan

+0

你說過活躍的工作嗎?你的意思是背景工作,在工作或cron工作? – alvits

回答

0

你不需要「回聲」你運行的每個命令。通過簡單地運行它而不用回顯,你應該看到輸出。

你試過嗎?

+1

對不起,這個答案應該是一個評論,而不是。而且,OP可能使用回聲來測試循環。我建議你刪除你的答案。 – linuxfan

+0

如果系統允許我添加評論,我會很高興。但是,看起來新人不能做什麼,除了看。 –

+1

我明白你的問題,但1)有耐心,你可以發表評論; 2)我再說一遍,這不是一個足夠的答案 - 它大多是錯誤的。 – linuxfan

0

如果您沒有看到任何輸出,那意味着您的循環根本沒有執行。也許沒有/home/ndevon/BRAD/Original_Files/*60_R1.fastq.gz文件,所以循環可以簡單地跳過,沒有任何回聲或錯誤消息。

+0

錯了。如果沒有文件,那麼'FILES'和'f'都將具有一個文字值'/ home/ndevon/BRAD/Original_Files/* 60_R1.fastq.gz'。循環只會執行一次。 – alvits