Archie Asked: 2019-10-20 03:37:42 +0800 CST2019-10-20 03:37:42 +0800 CST 2019-10-20 03:37:42 +0800 CST 在bash中循环异常[重复] 772 如何编写一个循环 pro 所有文件 *.py 除了 a.py? for i in *.py && !(a.py); do python3 $i done bash 1 个回答 Voted Best Answer ilkkachu 2019-10-20T03:47:31+08:002019-10-20T03:47:31+08:00 使用扩展的 glob(shopt extglob在 Bash 中设置),!(a).py应该匹配所有以 结尾的文件名.py,除了a.py: $ shopt -s extglob $ ls a.py bar.py foo.py foo.txt $ echo !(a).py bar.py foo.py 但是您也可以通过测试手动排除该文件,这不需要任何特定于 Bash 的功能: for f in ./*.py; do [ "$f" = a.py ] && continue python "$f" done
使用扩展的 glob(
shopt extglob
在 Bash 中设置),!(a).py
应该匹配所有以 结尾的文件名.py
,除了a.py
:但是您也可以通过测试手动排除该文件,这不需要任何特定于 Bash 的功能: