co w systemie Linux oznacza „ls”?

13

Przypadkowo wpisałem ls'i mam interaktywny interfejs: > co to jest?

Próbowałem wyszukać w Internecie, ale nic nie znalazłem.

Anders Lind
źródło

Odpowiedzi:

34

To zachowanie jest destro agnostyczne. Otworzyłeś wycenę, powłoka wyświetla $PS2zmienną globalną ( $PS2jest >w danych wyjściowych), podczas gdy brakuje drugiego cytatu.

Zamiast tego możesz zmienić PS2 za pomocą tego, co chcesz:

Dawny: export PS2=">>>"

Wartość $ PS2 jest drukowana (po rozwinięciu) jako dodatkowy monit o więcej danych, gdy bash działa interaktywnie. Zobacz man bashpod PROMPTING.

Gilles Quenot
źródło
2
Masz dobre oczy, by dostrzec zabłąkany pojedynczy cytat.
1
Dodano informacje: Aby się wydostać, po prostu wprowadź kolejny pojedynczy cytat lub naciśnij ctrl-c.
octern
Niezupełnie czytając standardowe; możesz wpisać wielowierszowy cytat w skrypcie lub coś równie dobrze; ale szybka wtórny jest wyświetlany w sesji interaktywnej po wprowadzeniu nowej linii wewnątrz cytowanego łańcucha, niedokończone pętli itp
tripleee
1
Lepiej użyj ctrl-d zamiast ctrl-c jako EOF (koniec pliku)
Gilles Quenot
dzięki, BTW, co oznacza PS2?
Anders Lind
5
-bash-4.1$ ls'
>

oznacza to, że otwierasz długi ciąg znaków 'i go nie zamykasz, więc bash czeka na zakończenie łańcucha (argumentu)'

Użyj lsbez żadnych 'na końcu.

Mateusz
źródło
0

„PS” oznacza (prawdopodobnie) „ciąg zachęty”. PS1 jest tym, co powłoka wyświetlałaby jako wiersz polecenia procesu powłoki. PS2 jest wyświetlany, gdy wymagane jest dalsze wprowadzanie danych w celu wykonania polecenia (ciąg niecytowany, odczyt ze standardowego wejścia itp.). man bashnastępnie wyszukaj PS1 lub PS2 ( /PS[12]<CR>)

aqn
źródło