【发布时间】:2019-09-03 04:03:21
【问题描述】:
我想使用别名删除 helm 实例,我可以在其中附加一个命名实例,并将其添加到命令中并运行。
我的 .zshrc 文件中有以下内容
alias helmd='function __helmd() {echo "helm delete $* --tiller-namespace=this-is-for-stack-uat --purge"; unset -f __helmd; }; __helmd'
当我输入时
helmd delete-this-instance
我明白了
helm delete delete-this-instance --tiller-namespace=this-is-for-stack-uat --purge
这是预期的输出,但是没有运行 helm delete 命令,而是将字符串打印出来,然后显示光标,这样我就可以开始输入命令了。我想要它做的是运行函数以便删除实例。
【问题讨论】:
-
你在别名中定义的函数只是做一个回显,所以当你调用别名时会发生这种情况。
-
我应该用什么代替
echo,我也试过printf和stdout -
要执行一个命令,只需编写命令即可。我不明白定义一个函数的别名的意义,该函数在调用时将取消定义然后调用它,但假设它没有意义,我只需在 .zshrc 中编写以下内容:
function helmd() { helm delete $* --tiller-namespace=this-is-for-stack-uat --purge; }然后调用它为你已经在做。
标签: bash alias kubernetes-helm oh-my-zsh