echo -ne "${none}" 使用编辑器命令时每隔一行
echo -ne "${none}" every other line when using editor for commands
当从 shell 编辑器 ctrl-x e
发出命令时,我一直遇到 echo -ne "${none}"
显示每隔一行的问题
例如输入for i in what is going on ? ; do echo "$i"; done
会打印出
echo -ne "${none}"
echo -ne "${none}"
what
echo -ne "${none}"
echo -ne "${none}"
is
echo -ne "${none}"
echo -ne "${none}"
going
echo -ne "${none}"
echo -ne "${none}"
on
echo -ne "${none}"
echo -ne "${none}"
R
我不太确定发生了什么。它似乎对事情没有影响,但让阅读输出有点痛苦。
所以我想我已经弄明白了为什么我只从编辑那里得到 'echo -ne "${none}"'。
我已经编辑了我的 .bashrc,确实包含了 https://github.com/andresgongora/synth-shell 中的 花式 bash 提示符 。为我的 bash 提示着色。
############################################################################
## BASH PROMT ##
## Generate promt and remove format from the rest ##
############################################################################
PS1="$TITLEBAR\n${PROMT_USER}${SEPARATOR_1}${PROMT_HOST}${SEPARATOR_2}${PROMT_PWD}${SEPARATOR_3}${PROMT_INPUT}"
## For terminal line coloring, leaving the rest standard
none="$(tput sgr0)"
trap 'echo -ne "${none}"' DEBUG
我假设从编辑器输入命令不会设置 none 变量
我建议检查您的 bash
non-interactive shell initiation/termination 流程。
似乎每次调用和终止 non-interactive shell 命令时,您都会收到 echo -ne "${none}"
建议 1
识别当前 bash 函数的一个技巧,其中包括 echo -ne
:
set |grep -B 20 "echo -ne"
此命令将打印每个 echo -ne
命令上方的 20 行。
建议 2
检查 bash initiation/termination 脚本:
sudo grep "echo -ne " ~/.bash_profile ~/.bash_login ~/.profile /etc/profile /etc/bashrc /etc/profile.d/*
建议 3
检查 shell 提示的配置 PS1
,您的终端可能不支持它(颜色、粗体、字体...)
sudo grep PS1 ~/.bash_profile ~/.bash_login ~/.profile /etc/profile /etc/bashrc /etc/profile.d/*
建议 4
测试当您使用没有 GUI 的纯文本会话 (TUI) 时此行为是否一致。
如果此问题仅出现在 GUI 环境中,则说明您的终端配置有问题 TTY
配置 and/or 提示 PS1
.
当从 shell 编辑器 ctrl-x e
echo -ne "${none}"
显示每隔一行的问题
例如输入for i in what is going on ? ; do echo "$i"; done
会打印出
echo -ne "${none}"
echo -ne "${none}"
what
echo -ne "${none}"
echo -ne "${none}"
is
echo -ne "${none}"
echo -ne "${none}"
going
echo -ne "${none}"
echo -ne "${none}"
on
echo -ne "${none}"
echo -ne "${none}"
R
我不太确定发生了什么。它似乎对事情没有影响,但让阅读输出有点痛苦。
所以我想我已经弄明白了为什么我只从编辑那里得到 'echo -ne "${none}"'。
我已经编辑了我的 .bashrc,确实包含了 https://github.com/andresgongora/synth-shell 中的 花式 bash 提示符 。为我的 bash 提示着色。
############################################################################
## BASH PROMT ##
## Generate promt and remove format from the rest ##
############################################################################
PS1="$TITLEBAR\n${PROMT_USER}${SEPARATOR_1}${PROMT_HOST}${SEPARATOR_2}${PROMT_PWD}${SEPARATOR_3}${PROMT_INPUT}"
## For terminal line coloring, leaving the rest standard
none="$(tput sgr0)"
trap 'echo -ne "${none}"' DEBUG
我假设从编辑器输入命令不会设置 none 变量
我建议检查您的 bash
non-interactive shell initiation/termination 流程。
似乎每次调用和终止 non-interactive shell 命令时,您都会收到 echo -ne "${none}"
建议 1
识别当前 bash 函数的一个技巧,其中包括 echo -ne
:
set |grep -B 20 "echo -ne"
此命令将打印每个 echo -ne
命令上方的 20 行。
建议 2
检查 bash initiation/termination 脚本:
sudo grep "echo -ne " ~/.bash_profile ~/.bash_login ~/.profile /etc/profile /etc/bashrc /etc/profile.d/*
建议 3
检查 shell 提示的配置 PS1
,您的终端可能不支持它(颜色、粗体、字体...)
sudo grep PS1 ~/.bash_profile ~/.bash_login ~/.profile /etc/profile /etc/bashrc /etc/profile.d/*
建议 4
测试当您使用没有 GUI 的纯文本会话 (TUI) 时此行为是否一致。
如果此问题仅出现在 GUI 环境中,则说明您的终端配置有问题 TTY
配置 and/or 提示 PS1
.