【发布时间】:2019-05-22 22:41:13
【问题描述】:
基本上,我需要澄清这是否是正确的做法:我能够在 k8s pod 上的容器内运行 sed 命令。现在,同一个 sed 我想循环 10 次,但不确定这是否有效,尽管我没有从 kubernetes pod 或日志中得到错误。请确认我的循环是否良好。
'sed -i "s/\(training:\).*/\1 12/" ghav/default_sql.spec.txt &&
lant estimate -e dlav/lat/experiment_specs/default_sql.spec.txt -r /out'
我想在同一个容器中执行此工作命令 10 次。下面是对的吗?
'for run in $(seq 1 10); do sed -i "s/\(training:\).*/\1 12/" ghav/default_sql.spec.txt &&
lant estimate -e dlav/lat/experiment_specs/default_sql.spec.txt -r /out; done'
pod 已创建并且运行良好,但我不确定如何确认我的循环是否良好,并且正在执行 10 次...
里面的 pod describe 我在下面看到
Args:
sh
-c
'for run in $(seq 1 10); do sed -i "s/\(training:\).*/\1 12/" ghav/default_sql.spec.txt &&
lant estimate -e dlav/lat/experiment_specs/default_sql.spec.txt -r /out; done'
【问题讨论】:
-
将
sh -c更改为sh -x -c(或在for之前添加set -x;)并观察命令的stderr输出 - 您将看到所有执行的命令,因此您可以确认它执行 n 次。 -
我更新了适用于 sh 的 for 循环。那么,我不需要在命令周围使用单引号吗?
标签: bash docker sed kubernetes kubernetes-pod