You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何以下K8s的command与args语法存在错误?

Kubernetes中command与args的错误用法解释

错误示例

command:
  - sh
  - -c
args:
  - sleep
  - '36000'

正确示例

command:
  - sh
  - -c
args:
  - sleep 36000

错误原因

当使用sh -c作为command时,sh的-c选项要求接收一个完整的命令字符串作为第一个参数,后续的参数会被当作该shell进程的位置变量(如$0、$1),而非传递给要执行的命令。

错误示例中,args被拆分为两个独立元素,相当于执行系统命令:

sh -c sleep 36000

此时sh会把sleep当作要执行的完整命令(无参数),36000会成为该shell进程的$0变量,实际执行的是不带参数的sleep(会立即退出),完全达不到预期的休眠效果。

正确示例中,args是一个完整的字符串,相当于执行:

sh -c "sleep 36000"

sh会解析整个字符串为要执行的命令,正确将36000作为参数传递给sleep,实现预期的休眠功能。

内容的提问来源于stack exchange,提问作者fu7100

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 20:15:35