如何在xonsh提示符中有条件地使用{env_name}

哈雷洛

xonsh外壳中,如何使用虚拟环境的名称作为定义中的条件$PROMPT

(更详细地讲:我有一个'xonsh'用于xonsh shell本身的虚拟环境,但是我不希望在提示中显示该venv,但是任何其他激活的venv都应该在提示中显示。)

吉尔·福赛斯

首先xonsh/prompt/env.py看一下我们如何定义env_name函数-由于您使用virtualenv,因此可以在您的代码中执行以下操作xonshrc

import os.path

def env_name_cust(pre_chars="(", post_chars=")"):
    """Extract the current environment name from $VIRTUAL_ENV 
    """
    env_path = __xonsh__.env.get("VIRTUAL_ENV", "")
    env_name = os.path.basename(env_path)
    if env_name and env_name != 'xonsh':
        return pre_chars + env_name + post_chars

然后将该函数添加到$PROMPT_FIELDS字典中:

$PROMPT_FIELDS['env_name_cust'] = env_name_cust

然后,您可以{env_name_cust}$PROMPT格式字符串中使用默认字符串{env_name}

如果愿意,也可以使用${...}它来代替__xonsh__.env

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Condas activate <env_name> 不会从 base 切换到 env_name

根据Django的“ related_name”条件,在models.py中有条件地调用__str__

如何在Oracle中有条件地插入?

如何在Excel中有条件地VLOOKUP?

如何在熊猫中有条件地求和

如何在Angular中有条件地渲染?

如何在Excel中有条件地匹配

如何在Javascript中有条件地拆分?

如何在有条件的js中有条件地应用标题

Python,有条件地使用装饰器(所有 env 中都没有安装包)

使用`git push origin :branch-name` 有条件地删除远程分支......但前提是分支存在?

如何在useEffect中更新状态的条件组件中有条件地渲染?

如何在列表项中有条件地更改rightIcon。我正在使用本机元素

如何在reactjs的渲染函数中有条件地使用开关切换

使用rollapply从向量中有条件地提取

在SwiftUI中有条件地使用视图

在PHP中有条件地使用特征

如何在v-for循环中有条件地更改表行样式?

如何在Kendo网格中有条件地将列设置为可编辑?

如何在Vue中有条件地设置所选选项

如何在反应导航中有条件地隐藏Tab?

如何在Spring Data REST投影中有条件地公开数据?

如何在无状态组件中有条件地更新状态?

如何在Eloquent模型中有条件地覆盖值?

您如何在Vue中有条件地绑定v模型?

如何在akka-http中有条件地添加路由路径?

如何在GraphQL查询中有条件地包含参数?

React如何在Material-UI中有条件地覆盖TextField错误颜色?

如何在熊猫中有条件地填充列中的空值