检查fish shell参数中的通配符

时间:2016-03-04 21:38:34

标签: shell fish

在为fish shell编写函数时,我想知道在命令参数中是否使用了单独的通配符(不是更大表达式的一部分)。 Fish在将参数传递给我的函数之前执行通配符扩展,因此除了检查参数是否与ls的输出相同之外,我没有简单的方法可以做到这一点。然而,这种方法的低效率让我很难过。有没有更好的方法来做到这一点,而不需要进入鱼的源代码?

编辑: 感谢您的投入。具体来说,如果*的参数中有rm,我希望添加一些像zshell这样的功能用于警告。我知道GitHub上有一个问题特别针对此问题,但我无法再找到这个链接。我有打字机,例如,rm * .o而不是rm *.o,并且意外删除了我的所有代码(...我从git带回来,但仍然)。

编辑2: 以下是GitHub上的问题:https://github.com/fish-shell/fish-shell/issues/1511

1 个答案:

答案 0 :(得分:2)

不,函数无法判断其参数来自何处。也许如果你提供关于你真正想要完成的事情的更多细节,我们可以给出另一个建议。