我只是想知道,我最近安装了 ack(ubuntu 中的 ack-grep),我不知道如何只输入 ack 来获取 ack-grep(出于某种原因,ack 被汉字翻译器占用了)。
有没有比在 shell 中给东西取别名更好的方法(它不是全局的,例如不能在 vim 中调用它)。
非常感谢!
Sav*_*btz 20
在 Ubuntu/Debian 中,您可以“转移” ack-grep:
sudo dpkg-divert --local --divert /usr/bin/ack --rename --add /usr/bin/ack-grep
Run Code Online (Sandbox Code Playgroud)
rap*_*ink 16
您链接或复制ack-grep到,/usr/local/bin以便它在 PATH 中获得优先权:
sudo ln -sf /usr/bin/ack-grep /usr/local/bin/ack
Run Code Online (Sandbox Code Playgroud)
或者,就像 davey 建议的那样,ack如果您不需要它,请摆脱它:
sudo apt-get remove ack
Run Code Online (Sandbox Code Playgroud)
另一种解决方案将涉及使用dpkg-divert来告诉dpkg你希望所有的包有自己的/usr/bin/ack本地重命名,然后链接ack-grep到ack路径。
小智 8
使用 Debian 替代系统。
$ update-alternatives --install /usr/bin/ack ack /usr/bin/ack-grep 100 \
--slave /usr/share/man/man1/ack.1p.gz ack.1p.gz /usr/share/man/man1/ack-grep.1p.gz
Run Code Online (Sandbox Code Playgroud)
该命令很难正确使用,但由于以下原因,该解决方案优于 dpkg-divert:
有关 Debian 替代品的更多信息,请访问:http : //wiki.debian.org/DebianAlternatives
安装替代方案可以调用 ack-grep asack并使用 阅读联机帮助页man ack。
最简单的方法是通过 cpan 安装 ack。它将安装在 /usr/local/bin 中,它优先于 /usr/bin。赶紧跑:
sudo cpan App::Ack
Run Code Online (Sandbox Code Playgroud)
或者如果您没有 cpan 客户端:
curl -L cpanmin.us | perl - --sudo App::Ack
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5979 次 |
| 最近记录: |