Run all shell scripts in folder

前端 未结 3 1609
醉话见心
醉话见心 2020-12-30 01:24

I have many .sh scripts in a single folder and would like to run them one after another. A single script can be executed as:

bash wget-some_long_         


        
3条回答
  •  小鲜肉
    小鲜肉 (楼主)
    2020-12-30 01:46

    Use this:

    for f in *.sh; do  # or wget-*.sh instead of *.sh
      bash "$f" -H 
    done
    

    If you want to stop the whole execution when a script fails:

    for f in *.sh; do
      bash "$f" -H || break  # execute successfully or break
      # Or more explicitly: if this execution fails, then stop the `for`:
      # if ! bash "$f" -H; then break; fi
    done
    

    It you want to run, e.g., x1.sh, x2.sh, ..., x10.sh:

    for i in `seq 1 10`; do
      bash "x$i.sh" -H 
    done
    

提交回复
热议问题