如何修改Bash命令 无匹配Credhub凭证时不执行删除操作
解决方案
你原命令的问题在于xargs默认在接收到空输入时,依然会执行一次后续的删除命令,只要给xargs加上-r参数即可实现「无匹配条目时不执行任何操作」的效果。
修改后的完整命令:
credhub find -n sachin | grep name: | cut -c9- | xargs -r -I {} credhub delete -n {}
参数说明
-r是xargs的标准参数,全称为--no-run-if-empty,作用是当标准输入传入的内容为空时,直接跳过后续命令的执行,不会触发无意义的删除调用。- 其余逻辑和你原命令完全一致:检索名称匹配
sachin的条目、过滤出名称字段、截取名称内容、批量执行删除,正常匹配场景下的执行效果和原命令没有区别。
内容的提问来源于stack exchange,提问作者Sachin Kainth
相关产品推荐
相关产品推荐

