/ bin/bash在启动时发出分段错误

Nit*_*zle 1 linux ssh bash redhat segmentation-fault

当我尝试SSH到远程服务器(运行RHEL 4.4.5-6)时,我从bash获得了分段错误.提供我的凭据后,SSH客户端会回吐"上次登录:..."信息,然后挂起.

出于好奇,我按下了Ctrl-C并且能够进入bash提示符.但是,这不是我看到的"通常"提示(它通常有我的用户名,服务器主机名等).

login as: xxxxxxx
xxxxx@xxxx's password:
Last login: Fri Mar 30 14:33:41 2012 from xxx.xx.xx.xxx

-bash-4.1$ echo $0
-bash
-bash-4.1$
Run Code Online (Sandbox Code Playgroud)

我试图从GDB运行/ bin/bash.在中等等待时间之后,我终于得到了一个SIGSEGV错误:

(gdb) run
Starting program: /bin/bash

Program received signal SIGSEGV, Segmentation fault.
0x08067ab5 in yyparse ()
(gdb)
Run Code Online (Sandbox Code Playgroud)

我对系统进行的最后一次(重大)更改是安装GNU屏幕(使用yum安装屏幕).当我试图启动它时,屏幕似乎也挂了(我假设因为它尝试运行bash,并得到了相同的段错误).

编辑:

我试过运行rpm -V:

-bash-4.1$ rpm -V bash
-bash-4.1$
Run Code Online (Sandbox Code Playgroud)

这是我的.bash*文件:

.bashrc中:

# .bashrc

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs
Run Code Online (Sandbox Code Playgroud)

.bash_profile文件:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs
Run Code Online (Sandbox Code Playgroud)

.bash_logout中:

# ~/.bash_logout
Run Code Online (Sandbox Code Playgroud)

.bash_history很长.我删除它,尝试再次登录,并得到相同的结果.

Ven*_*ero 6

你是从内部递归地获取你的.bashrc,这在一个简短的测试中确实会导致分段错误.从.bashrc中删除该部分应该有希望解决问题.