当前位置: 首页>>技术教程>>正文


linux – ack-grep在ubuntu中确认

, ,

问题描述

我只是想知道,我最近安装了ack(ubuntu中的ack-grep),但我不知道如何键入ack才能获得ack-grep(由于某种原因,ack被汉字翻译器占用了)。

有没有比在Shell中别名这个东西更好的方法了(它不是全局的,例如不能在vim中调用它)。

非常感谢!

最佳方法

您可以将ack-grep链接或复制到/usr/local/bin,以便它在PATH中具有优先权:

sudo ln -sf /usr/bin/ack-grep /usr/local/bin/ack

或者,如davey建议的那样,如果不需要,请摆脱掉ack

sudo apt-get remove ack

另一种解决方案是使用dpkg-divert告诉dpkg您希望所有软件包都在本地重命名其/usr/bin/ack,然后在路径中将ack-grep链接到ack

次佳方法

在Ubuntu /Debian中,您可以”divert” ack-grep

sudo dpkg-divert --local --divert /usr/bin/ack --rename --add /usr/bin/ack-grep

第三种方法

使用Debian Alternatives系统。

$ 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

该命令很难正确执行,但由于以下原因,该解决方案优于dpkg-divert:

  1. 不会强制或覆盖软件包安装

  2. 启用设置联机帮助页的从属链接

有关Debian替代方案的更多信息,请参见:http://wiki.debian.org/DebianAlternatives

安装替代方法后,可以将ack-grep作为ack进行调用,并使用man ack阅读联机帮助页。

第四种方法

最少干扰:

alias ack=ack-grep

第五种方法

最简单的方法是通过cpan安装ack。它将安装在/usr /local /bin中,其优先级高于/usr /bin。赶紧跑:

sudo cpan App::Ack

或者如果您没有cpan客户端:

curl -L cpanmin.us | perl - --sudo App::Ack

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/9035.html,未经允许,请勿转载。