次のように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