vagrant up 时出现奇怪的 bash_history

vagrant up 时出现奇怪的 bash_history

有一段时间,我的 Vagrant 出现了问题。
每次“vagrant up”时,我的 vagrant 会话的历史记录都会“损坏”,如下所示:

exit
export TERM="vt100"
printf '41e57d38-b4f7-4e46-9c38-13873d338b86-vagrant-ssh'
exit
export TERM="vt100"
stty raw -echo
export PS1=""
export PS2=""
export PROMPT_COMMAND=""
printf bccbb768c119429488cfd109aacea6b5-pty
grep 'ostree=' /proc/cmdline
exitcode=$?
printf bccbb768c119429488cfd109aacea6b5-pty
exit $exitcode
export TERM="vt100"
stty raw -echo
export PS1=""
export PS2=""
export PROMPT_COMMAND=""
printf bccbb768c119429488cfd109aacea6b5-pty
if test -r /etc/os-release; then source /etc/os-release && test xLinux Mint = x$ID && exit; fi
if test -x /usr/bin/lsb_release; then /usr/bin/lsb_release -i 2>/dev/null | grep -qi Linux Mint && exit; fi
if test -r /etc/issue; then cat /etc/issue | grep -qi Linux Mint && exit; fi
exit 1
export TERM="vt100"
stty raw -echo
export PS1=""
export PS2=""
export PROMPT_COMMAND=""
printf bccbb768c119429488cfd109aacea6b5-pty
[ -x /usr/bin/lsb_release ] && /usr/bin/lsb_release -i 2>/dev/null | grep Trisquel
exitcode=$?
printf bccbb768c119429488cfd109aacea6b5-pty
exit $exitcode
export TERM="vt100"
stty raw -echo
export PS1=""
export PS2=""
export PROMPT_COMMAND=""
printf bccbb768c119429488cfd109aacea6b5-pty
grep 'Amazon Linux AMI' /etc/os-release
exitcode=$?
printf bccbb768c119429488cfd109aacea6b5-pty
exit $exitcode
export TERM="vt100"

大约有 560 行这样的代码。
当我删除~/.bash_history或使用时history -c,所有内容都会返回到虚拟机的下一次重新启动。这能说明什么问题吗?如何解决这个问题?

答案1

出口
导出 TERM="vt100"
printf'41e57d38-b4f7-4e46-9c38-13873d338b86-流浪者-ssh'
出口
导出 TERM="vt100"
stty raw-echo 复制代码
导出 PS1=""
导出 PS2=""
导出 PROMPT_COMMAND=""
printf bccbb768c119429488cfd109aacea6b5-pty
退出代码=$?
printf bccbb768c119429488cfd109aacea6b5-pty
退出 $exitcode
导出 TERM="vt100"
stty raw-echo 复制代码
导出 PS1=""
导出 PS2=""
导出 PROMPT_COMMAND=""
printf bccbb768c119429488cfd109aacea6b5-pty

这些行看起来像是 Vagrant 用来打开新通信套接字(或用于与容器通信的任何命令)的命令

关于export TERM="vt100"export PS1=""和:TERM 是环境变量export PS2=""export PROMPT_COMMAND=""用于指示您可以使用哪些 Shell 功能,而 PS1、PS2 和 PROMPT_COMMAND 是控制应显示哪些提示符的变量

如果测试 -r /etc/os-release; 然后源 /etc/os-release && 测试 xLinux Mint = x$ID && 退出; fi
如果测试 -x /usr/bin/lsb_release; 那么 /usr/bin/lsb_release -i 2>/dev/null | grep -qi Linux Mint && exit; fi
如果测试 -r /etc/issue;则 cat /etc/issue | grep -qi Linux Mint && exit; fi
[ -x /usr/bin/lsb_release ] && /usr/bin/lsb_release -i 2>/dev/null | grep Trisquel

这似乎是一些确定哪个系统正在运行的代码。
lsb_release打印哪些 LSB 模块可用。
/etc/os-release包含有关所使用的发行版的信息。

相关内容