【问题标题】:Unexpected zsh global alias expansion意外的 zsh 全局别名扩展
【发布时间】:2017-06-02 08:45:45
【问题描述】:

编辑:该示例在纯 zsh 中工作。我的 prezto 安装不起作用。似乎是 prezto 中的一个错误。

我尝试在 zsh 中将 sponge 别名为 SP。但结果相当令人惊讶。

没有全局别名:

❯ echo xxx >! xxx
❯ cat xxx | sponge xxx
❯ cat xxx  # non-empty file
xxx

使用全局别名:

❯ echo xxx >! xxx
❯ alias -g SP='| sponge '
❯ cat xxx SP xxx
❯ cat xxx
(empty file, no lines are shown here)

奇怪行为的原因是什么?我怎样才能让它发挥作用?

【问题讨论】:

    标签: zsh zsh-alias


    【解决方案1】:

    你正在用一个参数替换应该是一个管道

    cat xxx SP xxx
    

    表示 cat 现在有 3 个参数

    alias -g SP='sponge'
    

    cat xxx | SP
    

    应该会给你想要的结果

    【讨论】:

      猜你喜欢
      • 2011-06-11
      • 1970-01-01
      • 1970-01-01
      • 2016-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-16
      • 2012-02-22
      相关资源
      最近更新 更多