如何编写一个循环pro除a.py之外的所有文件*.py?
for i in *.py && !(a.py); do
python3 $i
done
答案1
和扩展的全局(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