fish shell确实提供了一系列非常方便的功能,历史记忆匹配是最大的亮点,其次就是文件判定(是否存在、权限等)、支持选项判定等等,但是用惯了bash的用户会发现,fish shell的很多行为实在是很奇怪,我不清楚是fish shell的bug还是fish shell就是这样的行为,fish shell在处理find命令的exec时,行为很怪异,以前我最喜欢用的:

find . -name "*.mp3" -exec echo {} \;

在fish shell下失效了,一些xargs的复杂命令也没法正常运作,

https://news.ycombinator.com/item?id=4075158 大概是说fish对大括号做了扩展处理,需要转义一下。 试试这个 find . -name "*.mp3" -exec echo \{\} \;

评论模块尚未加载