我想在名为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,在这种情况下,我想运行的脚本存在。
有人可以帮帮我吗?
答案 0 :(得分:1)
如果你从Folder1
开始,你可以这样做:
for i in */
do
(cd "$i"Gex_experiments && qsub myscript.sh)
done
尾部斜杠*/
表示只找到目录。循环周围的( )
表示命令在子shell中运行,因此您无需cd
退出。