在 Amazon Linux 实例上,对于输入到 bash 中的每个命令,它都会输出
printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"
输入什么命令并不重要。例如
$ date
date
Mon Oct 14 17:15:31 UTC 2019
printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"
和
$ ls -all
ls -all
total 1776
drwx------ 5 ec2-user ec2-user 4096 Oct 14 17:10 .
drwxr-xr-x 3 root root 4096 Sep 2 14:18 ..
-rw------- 1 ec2-user ec2-user 5853 Oct 11 21:43 .bash_history
-rw-r--r-- 1 ec2-user ec2-user 18 Aug 30 2017 .bash_logout
-rw-r--r-- 1 ec2-user ec2-user 193 Aug 30 2017 .bash_profile
-rw-r--r-- 1 ec2-user ec2-user 124 Aug 30 2017 .bashrc
drwx------ 3 ec2-user ec2-user 4096 Oct 14 15:22 .cache
drwx------ 4 ec2-user ec2-user 4096 Oct 14 15:22 .local
drwx------ 2 ec2-user ec2-user 4096 Sep 2 14:18 .ssh
printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"
并且它也会回应命令。
这里发生了什么?我该如何阻止这种行为?
答案1
我假设 Bash 在启动时处理的某个文件中的变量PROMPT_COMMAND
设置不正确。可能的原因如下:
- /etc/配置文件
- /etc/bash.bashrc
- 的〜/ .bash_profile
- ~/.bashrc
快速解决方法/测试:
unset PROMPT_COMMAND