我有以下 bash 脚本来查找 git 存储库。
echo "$(fd -I -i -H -E '.local' -E '.cargo' -E '.password-store' -t d ^.git$ ~ -x 'echo' '{//}' | sk)"
fd
将搜索结果传送到sk
(fzf rust 替代方案),因为它们被发现,但选择一项要等到fd
完成。因此,从我选择实际使用的目录sk
到实际编辑的目录,大约有 2 秒的延迟echo
。我也可以看到同样的行为fzf
。
有没有办法避免延误?
答案1
几个小时后我想出了这个。可能有更好的解决方案,但这也有效。
#!/bin/env bash
quick_exit ()
{
read VAR
if [ ! -z "${VAR}" ]; then
echo $VAR
PID=$$
kill $PID 2&> /dev/null
fi
}
fd -I -i -H \
-E '.local' \
-E '.cargo' \
-E '.password-store' \
-t d ^.git$ ~ \
-x 'echo' '{//}' | sk | quick_exit