我可以在Linux中成功运行以下pyrg命令:

python -m unittest discover |& pyrg

> ...
> ----------------------------------------------------------------------
> Ran 3 tests in 0.001s
>
> OK


但不是这个:

watch -n 1 --color 'python -m unittest discover |& pyrg'

> Each 1.0s python -m unittest discover |& pyrg
>
> sh: 1: Syntax error: "&" unexpected


我也找不到如何将pyrgpython -m一起使用的另一种形式,而不是实际的脚本:

watch -n 1 --color pyrg python -m unittest discover

> Usage: pyrg [options] TEST_SCRIPT.py
>      : python TEST_SCRIPT.py |& pyrg
>
> pyrg: error: no such option: -m


我该如何解决?

最佳答案

为了使用特定于bash的语法,您需要确保使用bash shell运行命令:

watch -n 1 --color 'bash -c "python -m unittest discover |& pyrg"'


实际上,您可以删除一个引用级别:

watch -n 1 --color --exec bash -c 'python -m unittest discover |& pyrg'

关于python - 如何使用`watch`使用bash专用语法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37240241/

10-09 07:25