处理彩色 bash 提示
Handling colored bash prompt
我有一个适配器代码,它通过 SSH 在 Linux 机器上执行一些特定的命令。它以指定的方式执行命令并处理每个命令的输出。
面临的问题非常简单。
我正在连接到使用颜色的 Bash 提示。以下是 PS1 变量的详细信息:
PS1="\[3[1;34m\][$(date +%H%M)][\u@\h:\w]$\[^[[0m}\]"
该代码使用正则表达式,它首先确定一个有效的终端,然后继续执行命令。
例如,.*$
被认为有效
我似乎无法正确处理 [^[[0m}
,并且代码无法将终端识别为有效终端。如果我从 PS1 变量中删除它,一切正常。
谁能建议可以输入哪些正则表达式,以便代码将其作为有效终端?
我认为您在上面提供的 PS1 变量已损坏。
我运行在我的终端window进行以下实验:
[guest@localhost ~] $ export PS1="\[3[1;34m\][$(date +%H%M)][\u@\h:\w]$\[^[[0m}\]"
[2137][guest@localhost:~]$^[[0m}
如您所见,^[[0m}
未正确解释。我假设它是提示中颜色的结尾。我觉得应该是\[3[0m\]
.
这是整个 PS1 变量:
PS1="\[3[1;34m\][$(date +%H%M)][\u@\h:\w]$\[3[0m\]"
测试后你得到这个:
[2137][guest@localhost:~]$^[[0m}export PS1="\[3[1;34m\][$(date +%H%M)][\u@\h:\w]$\[3[0m\]"
[2139][guest@localhost:~]$
我有一个适配器代码,它通过 SSH 在 Linux 机器上执行一些特定的命令。它以指定的方式执行命令并处理每个命令的输出。
面临的问题非常简单。
我正在连接到使用颜色的 Bash 提示。以下是 PS1 变量的详细信息:
PS1="\[3[1;34m\][$(date +%H%M)][\u@\h:\w]$\[^[[0m}\]"
该代码使用正则表达式,它首先确定一个有效的终端,然后继续执行命令。
例如,.*$
被认为有效
我似乎无法正确处理 [^[[0m}
,并且代码无法将终端识别为有效终端。如果我从 PS1 变量中删除它,一切正常。
谁能建议可以输入哪些正则表达式,以便代码将其作为有效终端?
我认为您在上面提供的 PS1 变量已损坏。
我运行在我的终端window进行以下实验:
[guest@localhost ~] $ export PS1="\[3[1;34m\][$(date +%H%M)][\u@\h:\w]$\[^[[0m}\]"
[2137][guest@localhost:~]$^[[0m}
如您所见,^[[0m}
未正确解释。我假设它是提示中颜色的结尾。我觉得应该是\[3[0m\]
.
这是整个 PS1 变量:
PS1="\[3[1;34m\][$(date +%H%M)][\u@\h:\w]$\[3[0m\]"
测试后你得到这个:
[2137][guest@localhost:~]$^[[0m}export PS1="\[3[1;34m\][$(date +%H%M)][\u@\h:\w]$\[3[0m\]"
[2139][guest@localhost:~]$