Was bedeutet "ls" in Linux?

13

Ich habe versehentlich getippt ls'und eine interaktive Oberfläche erhalten: > Was ist das?

Ich habe versucht im Internet zu suchen, nichts gefunden.

Anders Lind
quelle

Antworten:

34

Dieses Verhalten ist distro-agnostisch. Sie hatten ein Zitat geöffnet, die Shell zeigt eine $PS2globale Variable an ( $PS2ist die >in Ihrer Ausgabe), während das zweite Zitat fehlt.

Du kannst PS2 mit dem ändern, was du willst:

Ex: export PS2=">>>"

Der Wert von $ PS2 wird (nach der Erweiterung) als sekundäre Eingabeaufforderung für weitere Daten ausgegeben, wenn die Bash interaktiv ausgeführt wird. Siehe man bashunter PROMPTING.

Gilles Quenot
quelle
2
Sie haben gute Augen, um das einzelne Anführungszeichen zu erkennen.
1
Hinzugefügte Informationen: Um auszusteigen, geben Sie einfach ein weiteres einfaches Anführungszeichen ein oder drücken Sie Strg-C.
13.
Nicht gerade lesen stdin; Sie können auch ein mehrzeiliges Zitat in ein Skript oder Ähnliches eingeben. aber die sekundäre Eingabeaufforderung wird in einer interaktiven Sitzung angezeigt , wenn Sie eine neue Zeile in einer Zeichenfolge in Anführungszeichen eingeben, eine unfertige Schleife usw.
tripleee
1
Verwenden Sie besser Strg-D anstelle von Strg-C als EOF (End Of File)
Gilles Quenot
Danke, übrigens, wofür steht PS2?
Anders Lind
5
-bash-4.1$ ls'
>

es bedeutet, dass Sie einen langen String mit öffnen 'und ihn nicht schließen, so dass die Bash auf einen String (Argument) wartet, der mit endet'

Verwenden Sie lsohne 'am Ende.

Mateusz
quelle
0

"PS" steht (wahrscheinlich) für "prompt string". PS1 wird von der Shell als Eingabeaufforderung Ihres Shell-Prozesses angezeigt. PS2 wird angezeigt, wenn zur Vervollständigung des Befehls weitere Eingaben erforderlich sind (Zeichenfolge ohne Anführungszeichen, Lesen von stdin usw.). man bashdann suche nach PS1 oder PS2 ( /PS[12]<CR>)

aqn
quelle