有一段时间,我的 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
包含有关所使用的发行版的信息。