为什么从ubuntu切换到archlinux后,terminal不能运行ack?

我只是从Ubuntu的切换到archlinux,我通过pacman安装了ack-grep。 但是我发现我不能从terminal直接运行$ ack 。 我必须键入$ perl ack ,这是一个痛苦…我想知道是否有人遇到类似的情况,你如何解决它。

谢谢

这取决于你正在使用的外壳。 可能最简单的事情(假设bash )是为你想要的命令创建一个别名,例如:

 alias acx='perl ack' 

您可能希望将其放置在您的启动脚本的某个位置,如主目录中的.profile.bash_profile

如果您使用不支持别名的不同Sheel,则仍然可以使用脚本来为您进行翻译,例如将以下acx文件放在路径中:

 perl ack "$@" # or however your particular sheel transfers all arguments. 

这里没有理由使用别名。 在这种情况下更新$ PATH是perl的工作。 看到perl软件包包含在基本组中,那么至多重新登录应该纠正一切。

我也测试了这个在我的系统和pacman -Syu ack (-Syu应该总是在安装时使用)。

# pacman -Syu ack

# ack --help (没有错误)

$ which ack

/usr/bin/vendor_perl/ack

如上面的答案所示,您不应该使别名运行。 而不是制作解决方法别名,让我们解决您的问题。

为什么你不能运行? 当你运行它会发生什么? 你有错误信息吗? 什么是错误信息?