我在/home/das/work/
我创建了一个脚本
#!/bin/bash
for i in *_K27me3.bed
do
intersectBed -wa -wb -a $i -b /home/das/work/mm9/mm9_prom_genes_2.5kb.bed | awk -v OFS='\t' {'print $1,$2,$3,$7,$8}' > `basename $i`_prom_genes_2.5kb.txt
done
它位于目录/home/das/work/
我想为上面提到的目录中的所有目录运行它。
我使用的是以下命令,但无法正常工作。我想知道实现相同的两种不同方法,要么使用一个使用上述脚本作为函数的脚本,并且每次在父目录的子目录中运行它,或者如下所示分别调用上面的脚本。 / p>
假设在父目录/home/das/work
命令
for f in *; do [ -d "$f" ] && cd "$f" && ./annotate_prom.sh;done;cd ..
运行上述命令时出现错误
-clustershell: ./annotate_prom.sh: No such file or directory
答案 0 :(得分:1)
交换..
和$job = $client->createJob(array(
'PipelineId' => 'MYPIPELINE',
'Input' => array(
'Key' => 'MYVIDEOKEY',
'FrameRate' => 'auto',
'Resolution' => 'auto',
'AspectRatio' => 'auto',
'Interlaced' => 'auto',
'Container' => 'auto',
),
'OutputKeyPrefix' => 'MYPREFIX/',
'Output' => array(
'Key' => 'MYNEWKEYNAME',
'ThumbnailPattern' => 'thumb-{count}',
'Rotate' => 90,
'PresetId' => 'MYPRESET',
'Watermarks' => [
[
'InputKey' => 'MYOVERLAY',
'PresetWatermarkId' => 'BottomRight'
]
]
)
));
并将{{1}}放在脚本路径的开头:
表示f in *;做[-d“$ f”]&& (cd“$ f”&& ../annotate_prom.sh);完成