0
我正在編寫一個腳本,目標是生成大量的其他腳本。我正在使用一個for循環,它回顯我想要的每個腳本的代碼的文本,然後將其轉換爲.sh文件。這裏是我寫的:回顯到一個.sh文件
#!/bin/bash
for i in {1..30} ; do
echo
"#!/bin/bash
#$ -N DT_STAR_$i
#$ -l mem_free=200G
#$ -pe openmp 4
#$ -q bio,abio,pub8i
module load STAR/2.5.2a
STAR --genomeDir /dfs1/bio/dtatarak/indexes/STAR_Index --readFilesIn
DT_$i.read1.fastq DT_$i.read2.fastq --runThreadN 4 --outFileNamePrefix
/David_data1/DT_$i" > DT_STAR_map_$i.sh
done
基本上我想要它做的就是把裏面的'代碼,所有的線路,並把它們變成一個新的sh文件每次換水DT_i到DT_1,DT_2, DT_3等等,當我在終端中運行這個腳本時,它確實創建了所有的.sh文件,但是並沒有放入任何東西。並將引號的內容打印到屏幕上,並顯示「No such file or directory」消息。我不確定我做錯了什麼。有沒有更好的方法來實現我想要做的事情?
謝謝!
STAR命令本身在我的代碼中寫成一行。我對這個網站的格式不熟悉,這就是爲什麼它在我的文章中以這種方式結束了。我不知道有關新命令中斷的echo命令。謝謝,我會試試看! –
這很棒!謝謝我沒有意識到echo語法的這一方面。 –
您不知道該命令是否在行尾結束? – Barmar