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

sti*_*ate 0 bash shell scripting fish

我有一个bash脚本,我想在其中使用一个命令,该命令是我在config.fish这样定义的:

alias setbg='feh --bg-fill'
Run Code Online (Sandbox Code Playgroud)

但是,当我在bash脚本中使用命令时,会得到:

setbg: command not found
Run Code Online (Sandbox Code Playgroud)

如何使鱼别名对bash脚本可见?

fah*_*aho 7

你不知道

鱼别名仅在鱼内部存在,并且由于bash和fish不兼容,因此也不能保证可以使用source它们。

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

这样就可以运行了fish -c 'setbg'

或者,您可以使用别名在bash和fish中创建一个文件。只要您坚持使用像simple alias key='value'这样的通用子集就可以,但是您不能使用任何不兼容的表达式,例如even if