将值传递给 stdin 子进程
Pass value to stdin subprocess
我正在尝试在子进程库中复制此命令。
kubectl patch secret foo --type=json --patch-file=/dev/stdin <<-EOF
[
{
"op": "replace",
"path": "/data/metadata/name",
"value": "bar"
}
]
EOF
如何通过标准输入传递以下值?
<<-EOF
[
{
"op": "replace",
"path": "/data/metadata/name",
"value": "bar"
}
]
EOF
最终使用类似于以下内容的方式工作:
def patch_secret(self, session):
cmd = f'patch secret {self.secret_name} --namespace {self.namespace}' \
f' --type=json --patch-file=/dev/stdin'
data="[{"op": "replace", "path": "/data/foo", "value": "TklFLXhmVnhsRHY4dnZMUEx0WXpJQ0M2bHl4Q1c4cElFdHpxeWFQN1VJTGs="}]"
r = subprocess.run(commands, input=data, env=envs, capture_output=True, universal_newlines=True, **kwargs)
我正在尝试在子进程库中复制此命令。
kubectl patch secret foo --type=json --patch-file=/dev/stdin <<-EOF
[
{
"op": "replace",
"path": "/data/metadata/name",
"value": "bar"
}
]
EOF
如何通过标准输入传递以下值?
<<-EOF
[
{
"op": "replace",
"path": "/data/metadata/name",
"value": "bar"
}
]
EOF
最终使用类似于以下内容的方式工作:
def patch_secret(self, session):
cmd = f'patch secret {self.secret_name} --namespace {self.namespace}' \
f' --type=json --patch-file=/dev/stdin'
data="[{"op": "replace", "path": "/data/foo", "value": "TklFLXhmVnhsRHY4dnZMUEx0WXpJQ0M2bHl4Q1c4cElFdHpxeWFQN1VJTGs="}]"
r = subprocess.run(commands, input=data, env=envs, capture_output=True, universal_newlines=True, **kwargs)