首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何用bash输出给定输入的命令链的结果

如何用bash输出给定输入的命令链的结果
EN

Stack Overflow用户
提问于 2020-02-14 16:34:07
回答 4查看 385关注 0票数 0

在提到this question时,我仍然挣扎于下面的单线行来工作。

代码语言:javascript
运行
复制
kubectl get ns | while read -r line; do  echo `$line | grep Term | cut -d' ' -f1`; done

我希望打印出$line | grep Term | cut -d' ' -f1的结果,但是它打印出一个空行(echo),然后执行$line | grep Term | cut -d' ' -f1的结果

代码语言:javascript
运行
复制
bash: NAME: command not found

bash: cert-manager: command not found

bash: configmap-4262: command not found

bash: configmap-4430: command not found

同样的结果与略有不同的方法相同:

代码语言:javascript
运行
复制
kubectl get ns | while read -r line; do ns=`$line | grep Term | cut -d' ' -f1`; echo $ns; done

我真正想要实现的是使用$line | grep Term | cut -d'的结果作为shell脚本的输入。

代码语言:javascript
运行
复制
do ns=`$line | grep Term | cut -d' ' -f1`; ./delete-kube-ns.sh $ns;

代码语言:javascript
运行
复制
$line | grep Term | cut -d' ' -f1` | xargs ./delete-kube-ns.sh
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2020-02-19 15:17:16

有了你的建议,我实际上可以实现我想要做的事情。

代码语言:javascript
运行
复制
kubectl get ns | awk '/Term/ { print $1 }' | while IFS= read -r line; do
   ~/bin/kill-kube-ns.sh $line
done
Killed namespace: configmap-4500
Killed namespace: configmap-5062
Killed namespace: configmap-5526
Killed namespace: configmap-5817
Killed namespace: configmap-6143
票数 0
EN

Stack Overflow用户

发布于 2020-02-14 16:39:33

把后背移开。它试图以shell命令的形式执行kubectl的输出。您希望回显$line,而不是将其作为命令执行的结果。

代码语言:javascript
运行
复制
kubectl get ns | while read -r line; do  
    echo "$line" | grep Term | cut -d' ' -f1
done

似乎根本没有必要使用while read,只需将kubectl输送到grep

代码语言:javascript
运行
复制
kubectl get ns | grep Term | cut -d' ' -f1
票数 3
EN

Stack Overflow用户

发布于 2020-02-15 09:49:29

parameter expansion可能是您想要/需要的,而不是将grepcut嵌入到while read循环中。

代码语言:javascript
运行
复制
#!/usr/bin/env bash

kubectl get ns | while IFS= read -r line; do  
  [[ $line == Term ]] && ns=${line% *}
  echo "$ns"
done

根据模式匹配,您可能需要*Term*

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60230242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档