如何用破折号设置环境?

How to set env with dashes?

如何设置带有破折号的环境?

我执行命令:

kubectl set env deployment/service "--cron.updates=0 */10 8-9 * * *" 

并得到错误:

Error: unknown flag: --cron.full-update-check-status See 'oc set env --help' for usage.

如何使用破折号为服务添加环境?

解法一:

使用单引号

kubectl set env deployment/foo  -- "--cron.updates='0 */10 8-9 * * *'"

这会将 podenv 更改为:

k exec -it foo-78fff84996-5mskb -- printenv |grep cron.updates
--cron.updates='0 */10 8-9 * * *'

解法-2:

禁用 glob ,这将阻止使用单引号。

您可以禁用 glob 并执行以下操作:

set -f #disable glob
kubectl set env deployment/foo  -- "--cron.updates1=0 */10 8-9 * * *"
set +f #enable glob

这也可以,示例输出:

k exec -it foo-5d4998668b-6gc9j  -- printenv |grep cron.updates
--cron.updates='0 */10 8-9 * * *'
--cron.updates1=0 */10 8-9 * * *