【问题标题】:How do I permanently change the terminal prompt in iTerm2 using zsh?如何使用 zsh 在 iTerm2 中永久更改终端提示?
【发布时间】:2014-08-12 07:53:33
【问题描述】:

在默认配置文件下的终端提示中显示:

Last login: Sat Jun 21 17:43:00 on ttys000
➜  ~

当我输入时:

➜  ~  export PS1="|%*| ~ "

我收到这个:

|17:44:11| ~

这就是我想要显示的内容。我如何使这个永久化,这样我就不必每次都输入这个?

我尝试了以下方法:将export PS1="|%*| ~ "插入.zsh,也在首选项>>配置文件>>客户主题和默认>>命令>>检查命令我没有运气插入export PS1="|%*| ~ "

【问题讨论】:

    标签: unix command-line terminal command-prompt zsh


    【解决方案1】:

    这与iTerm2无关;这纯粹是一个 zsh 问题。

    你需要添加命令

    PS1="|%*| ~ "
    

    到您的$HOME/.zshrc 文件。

    基于 cmets 的跟进:最好的办法是将此行添加到您的 .zshrc 文件的 end 处或附近。如果 .zshrc 中的其他内容是设置 $PS,无论是直接还是间接(通过调用另一个脚本),您都希望您想要的值覆盖它。

    不需要export$PS1的值。

    可能还有其他地方可以放置命令。有关详细信息,请参阅 zsh manual(或键入 info zsh)。据我所知,zsh 并不关注.zsh 文件(除非您明确告诉它)。

    【讨论】:

    • 感谢您的提示。但是,它保持与我在原始问题中发布的相同输出。按照您的指示,我输入了:open $HOME/.zshrc 然后添加了PS1="|%*| ~ " 然后重新启动了 iTerm。
    • @JonaTheApprentice:我不使用 MacOS; open 是做什么的?文件编辑后保存了吗?如果您暂时将echo hello 添加到您的.zshrc,它会在您启动zsh 时出现吗?你确定zsh 是你的默认shell?
    • open [filename] 将文件打开到默认文本编辑器。我确实在编辑后保存了文件。 echo hello 确实在我重新启动终端时出现。 zsh 是我的默认 shell,我运行了 chsh -s /bin/zsh 并且没有进行任何更改以确认它是默认的。
    • 如果将echo hello 添加到.zshrc 使其打印hello,则您的.zshrc 正在执行。您在.zshrc 中设置$PS1。必须有别的东西给它分配一个新值。仔细阅读 zsh 文档以查看可能执行的其他操作,并检查您的 .zshrc 的其余部分以了解可能设置 $PS1 的任何其他内容。您最好的选择可能是将PS1="|%*| ~ " 命令移动到.zshrcend
    • 那么问题是您的.zshrc 中的其他内容正在设置$PS1,直接或通过调用另一个脚本。这将是值得追踪的。我已经更新了我的答案。
    猜你喜欢
    • 2014-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多