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.

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.


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.


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>)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.