【问题标题】:How to add alias to fish config?如何为鱼配置添加别名?
【发布时间】:2020-10-06 08:55:53
【问题描述】:

我读到一篇文章建议将其添加到~/.bashrc

. ~/._awsAliases
alias awsall="_awsListAll"
alias awsp="_awsSwitchProfile"
alias awswho="aws configure list"

因为我正在尝试鱼壳,所以我尝试将其输入~/.config/fish/config.fish

我收到错误消息:

~/._awsAliases (line 15): Missing end to balance this function definition
function _awsSwitchProfile() {
^
from sourcing file ~/._awsAliases
    called on line 185 of file /usr/local/Cellar/fish/3.1.2/share/fish/config.fish
in function '.' with arguments '/Users/_/._awsAliases'
    called on line 1 of file ~/.config/fish/config.fish
from sourcing file ~/.config/fish/config.fish
    called during startup
source: Error while reading file '/Users/_/._awsAliases'

我怎样才能将该配置重写为合法?

【问题讨论】:

    标签: fish


    【解决方案1】:

    Bash 或多或少是与 POSIX 兼容的 shell。鱼不是。这两个 shell 具有不同的语法和行为。因此,当您告诉 fish 解析 POSIX 语法时,fish 会抱怨它无法识别该语法。

    您必须重写 ~/._awsAliases 的内容才能与 fish 兼容。由于您没有向我们展示该文件的内容,因此我们无法知道该重写是微不足道的还是困难的。

    【讨论】:

    • 我没有包含它,因为该脚本以 bash shebang 开头。我认为鱼会在 bash 中执行这些功能。不是这样吗?
    • @user1283776,fish 和 bash 中的点(或 source)命令读取文件并尝试编译并执行其中包含的语句。在获取文件时,两个 shell 都不注意 shebang 行。此外,即使他们确实尊重 shebang 行,它也不会对您有任何好处,因为脚本定义的函数在运行 source(或点)命令的 shell 中不可用。
    猜你喜欢
    • 1970-01-01
    • 2012-12-12
    • 1970-01-01
    • 1970-01-01
    • 2018-12-11
    • 2021-08-03
    • 1970-01-01
    • 1970-01-01
    • 2011-11-15
    相关资源
    最近更新 更多