Uruchamiając Ubuntu, otwieram terminal i robię
sudo bash
cd /
ls | head -n 1000
I przewidywalnie zwracanych jest około 20 katalogów.
Jeśli jednak zrobię ls i nie podłączę go do niczego, ls po prostu wisi tam, dopóki nie zabiję go z innego terminalu. Co może się dziać?
EDYTOWAĆ:
> type ls
ls is aliased to `ls --color=auto`
EDYTOWAĆ:
> /bin/ls /
<normal response>
> /bin/ls --color=auto
<hangs indefinitely>
Dlaczego kolorowanie wyjścia ls powoduje zawieszenie się tego polecenia?
strace ls
może potencjalnie pomóc zidentyfikować problem. strace
wyświetla wszystkie wywołania systemowe wykonane przez program, który wywołuje.
/bin/ls
(a raczej command ls
) uruchomić ls
bez opcji aliasu, aby potwierdzić, czy to opcja koloru robi różnicę. FWIW, ls
wyłącza kolorowanie, gdy jego wyjściem jest potok lub inne urządzenie nieterminalne.
\ls
type ls
aby sprawdzić ewentualne aliasy itp.