当 .bashrc 来源时,如何阻止别名中的命令运行?



我的问题:每当我打开一个新的终端窗口时,都会~/.bashrc来源,并执行下面描述的此别名的yolk -U | awk '{print $1}'部分。

这导致我的大多数新窗口在顶部都有短语"奶酪店没有新包装",并且它会阻止提示实际显示,直到命令完成。这可能需要定期的不小的秒数。

的问题:我怎样才能阻止它?在我显式使用别名之前,我不希望它运行。

在我的~/.bashrc文件中,我有以下alias

alias pipup="sudo pip install -U `yolk -U | awk '{print $1}'`"

我在virtualenv之外使用它来更新全局软件包,如pipsetuptoolsvirtualenvvirtualenvwrapperyolk,一些linters和几个cli实用程序。

别名本身工作正常,命令按预期运行。

OS X 10.9.1(尽管这个"问题"从 10.6 开始就存在)bash3.2.51

别名需要用单引号引起来。

alias pipup='sudo pip install -U `yolk -U | awk "{print $1}"`'

您报告为"工作"的内容一直在做错误的事情:当您登录时它会yolk运行,别名最终看起来像

alias pipup='sudo pip install -U fnord'

您应该能够通过检查alias pipup的输出来验证。

壳牌的引用功能通常知之甚少,尽管该系统不是很复杂或令人惊讶。 例如 http://mywiki.wooledge.org/Quotes

正如@devnull在评论中指出的那样,shell 函数总体上会是一个更好的解决方案。 别名是历史无谓的。

相关内容

  • 没有找到相关文章

最新更新