gpt4 book ai didi

linux - 在 Unix 中别名查找目录

转载 作者:太空狗 更新时间:2023-10-29 11:09:57 25 4
gpt4 key购买 nike

我试过类似的方法:

alias fdi 'find . -type d -iname "*\!^*"' 

但这只会查找作为参数传递的确切名称。

fdi abc 只会输出:

./d/abc

不是这个:

./d/greabcyup

我不只是在寻找确切的名字。它还应该显示 ./d/greabcyup

更新:我做到了

echo $0

控制

最佳答案

这是c-shell还是tcsh?

我用 orielly lunix in a nutshell 进行了 dbl 检查, !^ 是当前命令行中的第一个词,所以我不认为它在做你想做的事。您可以使用 cmd 行中的 echo abc def !^ 亲自检查该理论。 (我手头没有 csh)。

但很明显,当您创建别名时,它并没有获取别名中嵌入的第一个词(别名)或别名的第一个词(查找)。这可能与 csh 的评估顺序有关。

一般来说,大多数 shell(不仅仅是 csh)中的任何别名都不能带参数。它将在最后附加调用中包含的任何内容。所以你的别名扩展了,abc 参数为

find . -type d -iname abc

你得到的结果支持这一点。 (通过打开 csh 调试,将顶部的 hash-bang 行更改为 #!/bin/csh -vx ,您可能会看到一些有用的东西)

这就是其他shell有函数的原因,

 function fdi() {
find . -type d -iname "$@"
}

如果您因为政策原因不能使用其他 shell(bash、ksh、zsh 都是强大的编程语言),并且您打算经常使用 csh,请务必获取一份“The Unix C贝壳现场指南,盖尔和保罗安德森。一本写得非常出色的书。

IHTH.

关于linux - 在 Unix 中别名查找目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13187987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com