mkdir が bash をクラッシュさせる

mkdir が bash をクラッシュさせる

ホーム ディレクトリにディレクトリを作成しようとしているのですが、シェル自体がクラッシュし続けます。ディレクトリへの書き込み権限があります。touch でディレクトリにファイルを作成できます。csh でディレクトリを作成できます。bash で試すと、かなり大きなコア ダンプ (~59M) が生成されますが、bash はバイナリなので、バックトレースはあまり役に立ちません ("execute_command_internal()" 呼び出しが多数あるだけです)。作成するディレクトリの名前は関係ないようです。他のディレクトリで試しても、同じ奇妙な動作になります。su を使用して、自分のディレクトリにディレクトリを作成できる別のユーザーをエミュレートできます (許可するように設定した場合)。ただし、bash をクラッシュさせずに自分で実行することはできません。マシンを再起動しようとしました。

本当に困惑しています。これが何なのか、または問題を解決するために他に何ができるのか、何か考えをお持ちの方はいらっしゃいますか?

Xubuntu 14.04、Bash 4.3.11(1) リリース

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

コマンドは justmkdir 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() に拡張され、関数が無限再帰になり、シェルがクラッシュしたことでした。

関連情報