mkdir bloquea bash

mkdir bloquea bash

Estoy intentando crear un directorio en mi directorio de inicio, pero el shell sigue fallando. Tengo permiso para escribir en el directorio. Puedo crear archivos en el directorio mediante el tacto. Puedo crear directorios en csh. Cuando intento con bash, obtengo un volcado de núcleo bastante grande (~59M), pero debido a que bash es el binario, el rastreo no es muy útil (solo muchas llamadas "execute_command_internal()"). El nombre del directorio que estoy creando no parece importar. Puedo intentarlo en otros directorios y obtengo el mismo comportamiento extraño. Puedo usar su para emular a otro usuario que puede crear directorios en mi directorio (una vez que haya configurado los permisos para permitirlo), pero no puedo hacerlo yo mismo sin que bash falle. Intenté reiniciar la máquina.

Estoy realmente desconcertado. ¿Alguien tiene alguna idea sobre lo que podría ser esto o sobre otras cosas que puedo hacer para solucionarlo?

Lanzamiento de Xubuntu 14.04, Bash 4.3.11(1)

EDITAR: BASHOPTS=checkwinsize:cmdhist:complete_fullquote:expand_aliases:extglob:extquote:force_fignore:histappend:interactive_comments:login_shell:progcomp:promptvars:sourcepath

El comando es justo mkdir ao algo similar.

EDITAR 2:

ldd /bin/mkdirrendimientos:

linux-vdso.so.1 =>  (0x00007ffff55fd000)
libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007fadc606a000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fadc5ca4000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fadc5a65000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fadc5861000)
/lib64/ld-linux-x86-64.so.2 (0x00007fadc62ab000)

Respuesta1

Soy un idiota.

Copié una función bash de algún lugar que se veía así:

md() 
{
    [ $# -eq 0 ] && { echo "$0 dirname [permissions]"; return; }
    [ -d "$1" ] && { echo "%1 already exists!"; return; }
    mkdir -m ${2:-0755} -p "$1"
}

El problema era que anteriormente había tenido un alias así alias md="mkdir"cuando bash analizó la nueva función bash, expandió md() a mkdir() y la función se volvió infinitamente recursiva y bloqueó el shell.

información relacionada