带有 +30 个别名的鱼 shell 列表

Fish shell list with +30 aliases

我试过 fish shell 并且到目前为止很喜欢它 - 现在我想添加我所有的别名(+30,用于服务器等等)并且只发现我可以在我的 .config/fish/functions文件夹。

是否有更简单的 "badge" 方法从普通 .bash_aliases 文件中导入它们?

fish 与 bash 具有相同的 alias 语法。它只是为您将别名转换为函数。您需要做的就是 funcsave 使它们成为 "permanent".

也许这对你有用:

awk -F '[ =]' ' == "alias" {print; print "funcsave", }' ~/.bashrc | source -

首先要注意的是 alias 在 fish 中的作用与在 bash 中的作用非常不同。在 fish alias 中只是一种编写单行函数的方法。也就是说这个

alias xyz 'echo hello'

只是写作的捷径

function xyz
    echo hello $argv
end

很多时候,当人们谈论将 bash 别名转换为 fish 时,他们真正想要的是 fish abbr 命令来创建缩写。

Glenn 的回答可能对您有用,但前提是您的 bash 别名非常简单,它们与 fish 语法兼容。如果没有查看您的别名,我不会打赌。

您可以先将您的别名复制到您的 ~/.config/fish/config.fish 或您 source 从 config.fish。然后检查它们是否是有效的 fish 语句。