Va bene, quando eseguo alcuni comandi nel modo sbagliato, (errato, ecc.) Il terminale emette questo: >invece di computername:workingfolder username$, e quando scrivo entra va così:
>
>
>
Sarebbe se premessi Invio 3 volte.
Va bene, quando eseguo alcuni comandi nel modo sbagliato, (errato, ecc.) Il terminale emette questo: >invece di computername:workingfolder username$, e quando scrivo entra va così:
>
>
>
Sarebbe se premessi Invio 3 volte.
Risposte:
> è il prompt di continuazione predefinito. Ecco cosa vedrai se ciò che hai inserito prima aveva virgolette sbilanciate.
Ad esempio, digitare una virgoletta singola sulla riga di comando seguita da alcuni entertasti:
$ '
>
>
>
Le richieste di continuazione si verificheranno fino a quando non lo farai
(a) completare il comando con un segno di virgoletta di chiusura
o
(b) digitare Ctrl+ Dper terminare l'input, a quel punto la shell risponderà con un messaggio di errore relativo alle virgolette non bilanciate,
o
(c) digitare Ctrl+ Cche interromperà il comando che si stava inserendo.
A volte, potresti voler inserire una stringa che contiene nuove righe incorporate. Puoi farlo come segue:
$ paragraph='first line
> second line
> third line
> end'
Ora, quando visualizziamo quella variabile di shell, puoi vedere che i prompt sono scomparsi ma le nuove righe vengono mantenute:
$ echo "$paragraph"
first line
second line
third line
end
Ciò accadrà se hai un preventivo non chiuso nel tuo comando. È qualcosa del tipo:
$ echo "test here
>
>
...
Puoi uscire da quella modalità chiudendo il preventivo (scrivi un "o ', o qualunque sia il tuo preventivo aperto). Potrebbe anche essere un blocco delimitato da parentesi graffe, un parzialmente completo for-doo while-doloop, o alcuni altri costrutti. Puoi anche premere Ctrl-Cper annullare questo comando (quindi premere Upper modificarlo).
Questo a volte può accadere senza un'ovvia citazione mancante quando si verificano espansioni di parametri o cronologia dove non te le aspettavi.
Il >è il vostro PS2valore ( "secondario prompt"). Puoi cambiarlo in qualcos'altro per ricordarti cosa è successo:
PS2="Unclosed >"
nel tuo .bashrclo farai invece stampare Unclosed >all'inizio di ogni riga.
Oltre alle altre risposte, viene visualizzato anche il prompt di continuazione quando si digita a \come l'ultimo carattere su una riga.
La risposta si trova in questa criptica menzione nel Manuale di riferimento di Bash :
5.1 Variabili Bourne Shell
[...]
PS1: La stringa del prompt principale. Il valore predefinito è '\s-\v\$'. Vedere Stampa di un prompt , per visualizzare l'elenco completo delle sequenze di escape espanse prima dellaPS1visualizzazione.PS2: La stringa del prompt secondario. Il valore predefinito è '>'.
... seguito da :
6.3.3 Comportamento interattivo della shell
- Bash si espande e viene visualizzato
PS1prima di leggere la prima riga di un comando e si espande e viene visualizzatoPS2prima di leggere la seconda e le successive righe di un comando multilinea.
Quindi, il >prompt appare se si preme Entere Bash determina che il comando è incompleto. Ciò potrebbe essere dovuto al fatto che:
\, che viene trattato come una continuazione di riga .$(), (), ``.forloop, un whileloop o un case.Se visualizzi il prompt secondario a causa di un errore di battitura non intenzionale, premi ControlCper tornare al prompt primario.