【问题标题】:ampersand on hyperlink in alias别名中的超链接上的和号
【发布时间】:2017-05-21 01:52:33
【问题描述】:

我确信这很简单,但我无法让它工作:

  1. 当我输入时

    w3m https://www.google.com/search?q=whatever&oq=whatever&aqs=chrome..69i57.1259j0j1&sourceid=chrome&ie=UTF-8
    

我得到了我想要的结果

  1. 但是当我尝试像在

    中一样添加别名时
    alias whatever='https://www.google.com/search?q=whatever&oq=whatever&aqs=chrome..69i57.1259j0j1&sourceid=chrome&ie=UTF-8'
    

我收到一个与 & 符号有关的错误

  1. 我也尝试用 %23 替换 & 符号,但这也没有用

关于如何解决这个问题的任何想法?

【问题讨论】:

  • 去掉alias之前的单引号
  • @karakfa 抱歉,这是我的问题中的错字。我现在已将其修复为我的 .zshrc 上实际拥有的内容
  • 我怀疑你得到的正是你所期望的,因为第一个命令中未引用的 & 将被 bash 解释,因此 URL 会更短。
  • @liborm 如果我用没有 & 的东西替换命令,我仍然会收到错误。这是我的 .zshrc 的内容: alias whatever='w3n google.com/search?q=whatever' 我得到 zsh: no matches found: google.com/search?q=whatever

标签: bash command-line-interface alias


【解决方案1】:

好的,解决方法是添加一个函数:

function w3g { w3m https://www.google.com/search\?q\="$1" ;} 

然后

w3g whatever

w3g "blah blah blah"

【讨论】:

  • 在 bash 中也可以使用别名。这显然是一个 zsh 问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-20
  • 2016-01-25
  • 1970-01-01
相关资源
最近更新 更多