首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在nix-shell中配置fish shell提示

在nix-shell中配置fish shell提示
EN

Stack Overflow用户
提问于 2020-04-17 08:20:48
回答 1查看 522关注 0票数 1

我尝试按照下面的步骤配置提示符:https://nixos.wiki/wiki/Fish

结合此处有关基本文件的位置和内容的信息:https://fishshell.com/docs/current/faq.html#how-do-i-set-my-prompt

如果我没理解错的话,fish_prompt.fish的内容应该是:

代码语言:javascript
复制
set -l nix_shell_info (
if test -n "$IN_NIX_SHELL"
    echo -n "<nix-shell> "
end
)

function fish_prompt
    set_color $fish_color_cwd
    echo -n (prompt_pwd)
    set_color normal
    echo -n -s ' $nix_shell_info ~>'
end

以这种方式设置之后,无论是否在nix-shell中,提示都是相同的,并且不会设置变量$nix_shell_info

我如何设置它,使其按预期工作?

EN

回答 1

Stack Overflow用户

发布于 2020-04-17 08:41:22

您需要在函数内部设置变量,否则它将始终包含加载文件时设置的值:

代码语言:javascript
复制
function fish_prompt
    set -l nix_shell_info (
        if test -n "$IN_NIX_SHELL"
            echo -n "<nix-shell> "
        end
    )

    set_color $fish_color_cwd
    echo -n (prompt_pwd)
    set_color normal
    echo -n -s " $nix_shell_info ~>"
end

编辑:正如cole-h在IRC上指出的那样,您还需要将包含变量的单引号更改为双引号,否则将不会对其进行插值。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61262216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档