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 lsmoże potencjalnie pomóc zidentyfikować problem. stracewyświetla wszystkie wywołania systemowe wykonane przez program, który wywołuje.
/bin/ls(a raczej command ls) uruchomić lsbez opcji aliasu, aby potwierdzić, czy to opcja koloru robi różnicę. FWIW, lswyłącza kolorowanie, gdy jego wyjściem jest potok lub inne urządzenie nieterminalne.
\ls
type lsaby sprawdzić ewentualne aliasy itp.