【问题标题】:OhMyZsh is not running the command associated with an aliasOhMyZsh 未运行与别名关联的命令
【发布时间】: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,我也试过printfstdout
  • 要执行一个命令,只需编写命令即可。我不明白定义一个函数的别名的意义,该函数在调用时将取消定义然后调用它,但假设它没有意义,我只需在 .zshrc 中编写以下内容:function helmd() { helm delete $* --tiller-namespace=this-is-for-stack-uat --purge; } 然后调用它为你已经在做。

标签: bash alias kubernetes-helm oh-my-zsh


【解决方案1】:

正如@Aaron 所说,只需运行命令,不要回显它。

alias helmd='function __helmd() {helm delete $* --tiller-namespace=this-is-for-stack-uat --purge; unset -f __helmd; }; __helmd'

【讨论】:

    猜你喜欢
    • 2022-10-15
    • 1970-01-01
    • 2013-04-23
    • 1970-01-01
    • 2017-07-04
    • 1970-01-01
    • 1970-01-01
    • 2022-09-01
    • 1970-01-01
    相关资源
    最近更新 更多