如何根据其他命令输出创建选择菜单? 例如,运行以下命令:
kubectl config get-contexts
我得到以下输出:
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
* Name1 Cluster1 Auth1
Name2 Cluster2 Auth3
Name3 Cluster3 Auth3
我想要实现的是将NAME和CLUSTER列打印为菜单选项,如果选择了任何内容,则将其作为变量传递给另一个命令:
kubectl config use context $NameX
但是不知道如何通过命令输出来做到这一点。
答案 0 :(得分:0)
为了将命令的输出用作另一命令的输入,您可以使用反引号,或者更易读的$()
(但是后者并不总是有效)。
例如,在ls
“程序”中提供更多信息:
which ls
file /bin/ls
这可以简化为:
file $(which ls)
或:
file `which ls`
在您的示例中,它将类似于:
kubectl config use context $(kubectl config get-contexts ...), or:
kubectl config use context `kubectl config get-contexts ...`
显然,您需要从配置中确切指定所需的信息,以使其正常工作。