如何 运行 此脚本用于单个根目录下的不同目录?

how to run this script for different directories under a single root?

我里面有一些子目录/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 ,,,,}' > `basename $i`_prom_genes_2.5kb.txt
done

在目录/home/das/work/

我想 运行 它用于上述目录中的所有目录。

我正在使用以下命令,但它无法工作。我想知道 2 种不同的实现方法,要么使用一个将上述脚本用作函数的脚本,然后每次在父目录的子目录中使用 运行s ,或者调用上述脚本分别如下

命令 运行 假定脚本位于父目录 /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

交换 donecd 并将 .. 放在脚本路径的开头:

for f in *;做 [ -d "$f" ] && ( cd "$f" && ../annotate_prom.sh );完成