Durante la visione di un video, ho visto quanto segue:
% more tinyUF.txt
10
4 3
3 8
6 5
Cos'è questo %
segno prima del more
comando?
$
segno normale utilizzando export PS1=...
dove si ...
trova la sostituzione.
Durante la visione di un video, ho visto quanto segue:
% more tinyUF.txt
10
4 3
3 8
6 5
Cos'è questo %
segno prima del more
comando?
$
segno normale utilizzando export PS1=...
dove si ...
trova la sostituzione.
Risposte:
Questo è il prompt della shell, o più precisamente, è il prompt principale della shell ( ce ne sono diversi ). È il modo della shell di dire " vai avanti, sono pronto per l'input ora ".
Il %
prompt è comune nelle csh
shell di tipo mentre sh
-shells (like bash
e ksh93
) usa normalmente a $
come prompt.
Il prompt di solito cambia in #
per l'utente root poiché un utente sufficientemente potente dovrebbe essere ricordato di quel potere avendo un prompt alternativo (come dice lo standard POSIX).
Il prompt primario nelle sh
shell di tipo è determinato dal valore della variabile shell PS1
.
Riepilogo dei commenti seguenti, con aggiunte:
Il #
carattere del prompt di root (usato da entrambe sh
e le csh
shell) coincide con il carattere di commento della shell comune. Copiare e incollare un comando come root renderebbe inutilizzabile il comando incollato, se anche il prompt della shell fosse copiato. Si noti che è #
stato adottato come prompt di root prima che la shell avesse una convenzione di commento (riferimento: e-mail da Doug McIlroy ).
Le shell es
e rc
di Plan 9 usano il ;
carattere come prompt predefinito. Una conseguenza di ciò è che copiare e incollare un comando, incluso il prompt, significherà comunque che il comando incollato è valido (e verrà eseguito).
Un modo per consentire uno per avere un costume, ma ancora copia-pastable, guscio pronta, sarebbe quella di utilizzare : something ;
, dove something
potrebbe essere la directory corrente, il nome host o il tempo, per esempio.
zsh
(una shell in stile Bourne, ma con molte funzionalità da tcsh
). Si noti che le shell tipo Bourne e csh sono in genere utilizzate #
per gli utenti di uid 0.
rc
shell simili usano ;
lì (si può copiare e incollare l'intera riga e questo è un codice shell valido, la stessa idea del #
prompt di root è un commento).
#...
righe sono commenti quando vengono incollate, anche se non era intenzione. Non so se sia stata l'intenzione dietro ;
in rc
entrambi, anche se osservo che è una conseguenza conveniente.
export PS1=%
??