如何编写一些(bash)shell脚本将目录中所有匹配的文件名转换为命令行选项?

Dar*_*zer 1 bash shell filenames command-line

显然我的问题的答案"我可以限制鼻子覆盖输出到目录(而不是包)?" 是的,但我可以通过--coverage-package=PACKAGE目录中每个.py文件的包名称传递一个选项.

例如,如果目录包含:

foo.py
bar.py
baz.py
Run Code Online (Sandbox Code Playgroud)

...然后我需要使用命令:

nosetests --with-coverage --coverage-package=foo --coverage-package=bar --coverage-package=baz
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,有人可以写一些shell脚本代码(最好是sh或bash)来获取当前目录中扩展名为.py的所有文件名并生成上面的命令行(删除.py扩展名)?我的bash技能非常有限.(我很想在Python中做到这一点.)

Aym*_*ieh 13

nosetests --with-coverage $(for f in *.py; do echo --cover-package="${f%.*}"; done)
Run Code Online (Sandbox Code Playgroud)

这里的技巧是使用参数替换来删除文件扩展名.

${f%.*}
Run Code Online (Sandbox Code Playgroud)