重击条件输入

时间:2019-03-20 16:34:43

标签: bash

编写一个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${@:-.@}

1 个答案:

答案 0 :(得分:3)

您想要${1:+.}+表示如果设置了变量,请使用此文本,否则不使用。

docker-compose exec foo ./manage.py test "integration_tests.tests${1:+.}$1" --noinput

更新:如果$1带有空格或此类字符,请忽略引号。