如何在 bash 脚本中使用鱼别名

How to use fish aliases in bash scripts

我有一个 bash 脚本,我想在其中使用我在 config.fish 中定义的命令,如下所示:

alias setbg='feh --bg-fill'

然而,当我在 bash 脚本中使用命令时,我得到:

setbg: command not found

如何让 bash 脚本可以看到 fish 别名?

你不知道。

Fish 别名仅适用于 fish,并且由于 bash 和 fish 不兼容,因此不能保证您也可以 source 它们。

但是,fish 实际上并没有 别名alias 命令只是定义函数的包装器,不像 bash fish 总是读取它的配置。

所以你可以 运行 fish -c 'setbg'.

或者,您可以制作一个文件,其别名在 bash 和 fish 中都有效。只要你坚持使用像简单 alias key='value' 这样的通用子集就可以了,但你不能使用任何不兼容的表达式,比如 if.