다음과 같이 pytest 호출을 매개변수화하려고 합니다.
export OPTIONS="tests -k 'not e2e'"
pytest ${OPTIONS}
pytest
변수의 따옴표로 인해 호출이 실패했습니다. 옵션을 통화에 직접 넣는 것이 효과적입니다.
나는 시도했다:
pytest ${OPTIONS}
ERROR: file not found: tests -k 'not e2e'
pytest $(eval echo "${OPTIONS}") # removes all quotes
ERROR: file not found: e2e
pytest $(printf %s ${OPTIONS})
pytest
호출 작업을 매개변수화 하려면 어떻게 해야 합니까 ?
고쳐 쓰다
이것답변작동하는 솔루션이 포함되어 있습니다.
eval "OPTIONS=($OPTIONS)" # (opt.) convert an existing string to an array
export OPTIONS=(tests -k 'not e2e')
pytest "${OPTIONS[@]}"
이 점을 지적해 주셔서 정말 감사합니다. 나는 몇 시간 동안 검색을 해왔습니다.
답변1
이것을 시도해 보셨나요?
export OPTIONS="tests -k \'not e2e\'"
그것은 관련이 있어야합니다eval