tcsh 别名 - 查找 FreeBSD 端口

tcsh 别名 - 查找 FreeBSD 端口

我正在尝试创建一个别名为tcsh。我想在 ports (FreeBSD ports) 中找到一个程序。

到目前为止,我创建了一个别名,它可以工作,但只能找到以*port_name.我希望它能够搜索*port_name*.你能告诉我为什么我的例子不起作用吗?

alias najdi 'echo /usr/ports/*/*\!:1* | sed -e "y/ /\n/"'

najdi port_name
finds: *port_name
expected: *port_name*

解决方案: 我切换到这个:(它也不区分大小写)

alias portfind 'cd /usr/ports && make quicksearch name=\!:1 | grep Path'

答案1

在 tcsh 中,扩展!:1*相当于!:1-$

为了实现你想要的,你需要这样做:

alias najdi 'echo /usr/ports/*/*\!:1-1* | sed -e "y/ /\n/"'

就我个人而言,我更喜欢使用find而不是 shell 扩展:

alias najdi 'find /usr/ports -type d -maxdepth 2 -name \*\!:1-1\* -print'

相关内容