编写一个bash脚本,该脚本可能会收到一个可选参数并运行。
代码如下:
docker-compose exec foo ./manage.py test integration_tests.tests$@ --noinput
如果指定了参数,则路径应为integration_tests.tests.path.to.module
。如果不是integration_tests.tests
注意tests
之后的点。
如何修改integration_tests.tests$@
以正确处理此问题?像integration_tests.tests${@:-.@}
答案 0 :(得分:3)
您想要${1:+.}
。 +
表示如果设置了变量,请使用此文本,否则不使用。
docker-compose exec foo ./manage.py test "integration_tests.tests${1:+.}$1" --noinput
更新:如果$1
带有空格或此类字符,请忽略引号。