执行MacOS终端命令时延迟小

时间:2019-02-04 10:26:21

标签: bash macos terminal

我注意到在终端中执行诸如ls和cd之类的简单命令时,会有很小但明显的延迟。谁能告诉我如何解决此问题?我真的不知道从哪里开始。

1 个答案:

答案 0 :(得分:1)

评论中的讨论摘要:

在每个提示符下,您正在执行命令__git_ps1,这会产生很小的延迟。执行__git_ps1所需的时间取决于您的git配置和当前的工作目录。

要获得更快的提示,您可以

  • 改进脚本__git_ps1以使其运行更快(可能不是一个现实选择)。
  • 使用一个简单的提示,不显示__git_ps1给出的所有信息。
  • 使用超时机制,以使__git_ps1仅在不太慢的情况下才使用(请参见下一节)。
  • 仅在发生更改时才运行__git_ps1(此处不做解释,因为您将不得不识别所有可能更改__git_ps1输出的命令)。

使用超时

bash中,命令timeout n cmd最多执行cmdn秒。在提示中使用

PS1="[\\u@\\h \\W\$(__git_ps1 \" (%s)\")]\\\$ "

成为

PS1="[\\u@\\h \\W\$(timeout 0.2 __git_ps1 \" (%s)\")]\\\$ "

您可以根据需要调整超时时间。