从 Fish 脚本检查程序是否存在

Check if a program exists from a Fish script

如何检查 fish 脚本中是否存在程序?

我知道 Bash 没有绝对的解决方案,但使用 if type PROGRAM >/dev/null 2>&1; then... 得到了很好的结果。

鱼有类似的东西吗?

type -q,如

if type -q $program
     # do stuff
end

which returns 0 如果某物是函数、内置或外部程序(即如果它是 fish 将执行的东西)。

还有command -sq,只有当它是外部程序时才会return0。

对于这两个,“-q”标志都会使所有输出静音。对于命令,“-s”使其只查找命令而不是直接执行它。