在 bash 脚本中循环

Loop in bash script

我有一个包含压缩数据文件的目录。我想 运行 每个文件都使用脚本 est_abundance.py。但首先我需要解压缩它们。所以我有这个 bash:

for file in /home/doy.user/scratch1/Secoutput/; do
    cd "$file"
    gunzip *kren.gz
    python analysis1.py -i /Secoutput/*kren -k gkd_output -o /bracken_output/$(basename *kren).txt
    wait
done

问题是,bash 脚本一直在解压所有的数据文件,在解压一个文件后它不会继续执行下一个命令。 你能帮我改正这个吗?我只想为每个文件完成每个命令。

使用,注意要使用$file变量,解压后的文件名可以通过${file%.gz}:[=14=剥离.gz部分得到]

for file in /home/doy.user/scratch1/Secoutput/*; do
    gunzip $file
    python analysis1.py -i ${file%.gz} -k gkd_output -o /bracken_output/$(basename ${file%.gz}).txt
    wait
done