在子文件夹中运行.sh脚本

时间:2014-05-06 16:25:43

标签: ssh cluster-computing

我想在名为Gex_experiments的每个子文件夹中运行一个.sh脚本 根据以下文件夹结构:

Folder1       
--FolderA    
  --Gex_experiments     
--FolderB     
 --Gex_experiments     
--FolderC    
 --Gex_experiments    
.......      
--FolderAYCD
 --Gex_experiments

要在过去运行第一级子文件夹(FolderA,FolderB,FolderC,...)中的.sh脚本,我使用了以下脚本:

for i in *;   
do     
    cd $i;   
    qsub myscript.sh;    
    cd ..;    
done

但是现在我无法进入子文件夹Gex_experiments,在这种情况下,我想运行的脚本存在。
有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:1)

如果你从Folder1开始,你可以这样做:

for i in */
do
    (cd "$i"Gex_experiments && qsub myscript.sh)
done

尾部斜杠*/表示只找到目录。循环周围的( )表示命令在子shell中运行,因此您无需cd退出。

相关问题