mkdir крашит bash

mkdir крашит bash

Я пытаюсь создать каталог в своем домашнем каталоге, но сама оболочка постоянно падает. У меня есть разрешение на запись в каталог. Я могу создавать файлы в каталоге с помощью touch. Я могу создавать каталоги в csh. Когда я пытаюсь сделать это с помощью bash, я получаю довольно большой дамп ядра (~59M), но поскольку bash — это двоичный файл, обратная трассировка не очень полезна (только множество вызовов «execute_command_internal()»). Имя создаваемого мной каталога, похоже, не имеет значения. Я могу попробовать в других каталогах и получаю то же странное поведение. Я могу использовать su для эмуляции другого пользователя, который может создавать каталоги в моем каталоге (после того, как я установил разрешения, разрешающие это), но я не могу сделать это сам без сбоя bash. Я пробовал перезагружать машину.

Я действительно сбит с толку. Есть ли у кого-нибудь мысли о том, что это может быть или что еще я могу сделать, чтобы устранить неполадку?

Xubuntu 14.04, Bash 4.3.11(1)-релиз

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

Команда просто mkdir aили что-то похожее.

ПРАВКА 2:

ldd /bin/mkdirурожайность:

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)

решение1

Я идиот.

Я откуда-то скопировал функцию bash, которая выглядела примерно так:

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

Проблема была в том, что ранее у меня был такой псевдоним, alias md="mkdir"поэтому, когда bash анализировал новую функцию bash, он расширял md() до mkdir(), и функция становилась бесконечно рекурсивной, что приводило к сбою оболочки.

Связанный контент