Questo è il comando rlwrap che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
rlwrap - wrapper readline
SINOSSI
avvolgere [rlwrap-opzioni] command ...
DESCRIZIONE
avvolgere esegue lo specificato command, intercettando l'input dell'utente al fine di fornire readline's
modifica della linea, cronologia persistente e completamento.
avvolgere cerca di essere completamente trasparente - tu (o la tua shell) non dovresti notarne nessuno
differenza fra command e avvolgere command - tranne la funzionalità readline aggiunta,
Certo. Questo dovrebbe valere anche quando stai reindirizzando, reindirizzando e inviando
segnali da e per commando quando command manipola le sue impostazioni del terminale.
Ci sono molte opzioni per aggiungere il completamento (programmabile), gestire l'input multilinea, il colore
e riscrivere i prompt. Se non ne hai bisogno (e probabilmente non ne hai bisogno), puoi saltare il
resto di questa manpage.
VERSIONI
-un, --readline sempre [richiesta_password]
Rimani sempre in "modalità readline", indipendentemente da commandle impostazioni del terminale. Utilizzo
questa opzione se vuoi usare avvolgere con commands che utilizzano già readline. NB:
Con questa opzione, rlwrap farà eco (e salverà) le password, a meno che tu non dia command's
richiesta della password come argomento. L'argomento è facoltativo; se dato, deve
seguire direttamente l'opzione senza spazio intermedio.
Su una macchina Linux puoi usare il -N (--niente bambini) opzione per prevenire il
wrapping di pager ed editor richiamati da command; questo dovrebbe renderli molto di più
utilizzabile
Molti comandi che necessitano --readline sempre potrebbe anche aver bisogno -t muto per prevenire il terminale
sequenze di controllo dalla confusione avvolgere (anche se questo infastidirà il
cercapersone ed editori sopra menzionati)
-UN, --ansi-color-aware
I prompt che utilizzano il colore confonderanno rlwrap, specialmente alla fine di un input lungo
Linee. Questa opzione farà in modo che rlwrap si comporti meglio in questi casi. Se il prompt
contiene qualcosa di più elaborato dei codici colore ANSI, questa opzione potrebbe effettivamente rendere
cose peggiori.
-B, --break-caratteri lista_di_caratteri
Considera i caratteri specificati che spezzano le parole (gli spazi sono sempre
rompi-parola). Questo determina ciò che è considerato una "parola", sia quando si completa
e quando si crea un elenco di parole di completamento dai file specificati da -f Opzioni
seguendolo (non precedendolo!). Elenco predefinito (){}[],'+-=&^%$#@"";|\ A meno che -c non sia
specificato, / e . (punto) sono inclusi nell'elenco predefinito.
-C, --nome-file-completo
Nomi di file completi (il completamento del nome di file fa sempre distinzione tra maiuscole e minuscole, anche con -i
opzione) Quando si esegue questa operazione, rlwrap tiene traccia di commanddirectory di lavoro di s.
-C, --nome-comando nome_comando|N
Usa il nome_comando invece di command per determinare i nomi della storia e
file di completamento e per inizializzare readline (come specificato in ~ / .inputrc). Il
argomento numerico N > 0 significa: usa l'ennesimo argomento contando all'indietro dalla fine
della lista degli argomenti
-D, --storia-no-dupes n
Con quanta aggressività eliminare le voci duplicate dalla cronologia di input. Se n = 0,
tutti gli input vengono mantenuti nell'elenco della cronologia, se n = 1 (questa è l'impostazione predefinita) consecutiva
i duplicati vengono eliminati dall'elenco, mentre n = 2 farà avvolgere lascia perdere
occorrenze precedenti dell'input corrente dall'elenco.
-e, --extra-char-dopo-il-completamento serbatoio
Per impostazione predefinita, rlwrap aggiunge uno spazio dopo qualsiasi testo di completamento inserito. Usa questo
opzione per cambiarlo in '' (non inserire nulla) o in qualche altro carattere.
-F, --file filetto
Diviso filetto in parole e aggiungerle all'elenco delle parole di completamento. Questa opzione può essere
dato più di una volta, e aggiunge all'elenco di completamento predefinito in $RLWRAP_HOME o
/usr/share/rlwrap/completamenti.
-G, --dimentica-abbinamento regexp
Dimentica (cioè elimina dall'elenco della cronologia) tutte le linee di input che corrispondono a POSIX 1003.2
espressione regolare regexp. La corrispondenza è sempre senza distinzione tra maiuscole e minuscole. regexp può essere un file
stringa ordinaria. Per ulteriori informazioni sulle espressioni regolari, vedere regex (7)
-H, --Aiuto
Stampa un breve messaggio di aiuto.
-H, --history-nomefile filetto
Leggi la cronologia dei comandi da filetto (e riscrivilo lì se --histsize >= 0)
-io, --senza distinzione tra maiuscole e minuscole
Ignora maiuscole e minuscole durante il completamento (il completamento del nome file fa distinzione tra maiuscole e minuscole). Questo
l'opzione deve precedere qualsiasi opzione -f.
-IO, --pass-sigint-as-sigterm
Invia un segnale TERM a command quando si riceve un INT (es. quando si preme CTRL-C).
-l, --file di log filetto
Quando sei in modalità readline, aggiungi commandl'output di (incluso l'input dell'utente echo) a
filetto (creando filetto quando non c'è).
-N, --no-avvertimenti
Non stampare avvisi.
-N, --niente bambini
(solo Linux) Non rlwrap commandi figli di: ogni volta che avvolgere si accorge che command
sta aspettando uno dei suoi figli, passa alla modalità diretta, tramandando tutto
pressioni dei tasti immediatamente. Con questa opzione i comandi che richiedono --always-readline possono
chiamare editor e cercapersone ed essere ancora utilizzabile.
-M, --multilinea [nuovariga_sostituto]
Abilita l'input multilinea utilizzando una sequenza di caratteri "sostituto di nuova riga" (" \ ",
[spazio-barra rovesciata-spazio] per impostazione predefinita). I sostituti di nuova riga vengono tradotti in nuove righe
prima di inviare l'input a command. Con questa opzione puoi chiamare un esterno
editor $RLWRAP_EDITOR sull'ingresso corrente (espanso) con il rlwrap_call_editor
key (CTRL-^ per impostazione predefinita) L'argomento è facoltativo; se dato, deve direttamente
seguire l'opzione senza uno spazio intermedio.
-M, --multi-linea-est .est
Chiama l'editor multilinea su file temporanei con estensione file .est (utile per
ad es. colorazione automatica della sintassi)
-oh, --un colpo
Invia un EOF a command dopo aver accettato la prima riga di input
-Oh, --solo-cuoco regexp
Solo "cucinare" richiede quella corrispondenza regexp
-P, --prompt-colore [nome_colore|nome_colore|spec_colore]
Usa uno dei nomi dei colori nero, rosso, verde, giallo, blu, ciano, porpora
(=magenta) or bianca, o un conforme ANSI per colorare qualsiasi richiesta
visualizzato da command. Un nome di colore maiuscolo (Giallo or GIALLO ) dà un grassetto
richiesta. Prompt che contengono già sequenze di escape (colore) o uno dei
readline "ignora marker" (ASCII 0x01 e 0x02) non sono colorati. Questa opzione
implica --ansi-color-aware. colore spec ha la forma ; [; ] Esempio:
-p'1;31' darà un prompt rosso in grassetto sullo sfondo corrente (questo è l'impostazione predefinita
quando non viene fornito alcun argomento). Google per "colore ANSI" per saperne di più sul colore
codici. L'argomento è facoltativo; se dato, deve seguire direttamente l'opzione
senza spazio intermedio.
-P, --pre-dato testo
Start avvolgere con testo nel suo buffer di modifica (questo imposterà automaticamente il
opzione --always-readline).
-Q, --virgolette-caratteri lista_di_caratteri
Supponiamo che i caratteri dati agiscano come virgolette, ad esempio quando si abbinano le parentesi.
Fai attenzione a sfuggire alla lista correttamente per la tua shell (esempio: -q "\"'", che
sembra essere l'impostazione predefinita, o -q "\"" che sarà migliore per gli utenti Lisp)
-R, --ricordare
Metti tutte le parole viste in in- e output nell'elenco di completamento.
-R, --renice
Make avvolgere più bello di command (Cfr bello (1)). Questo può impedire avvolgere da
interrompendo command per visualizzare un prompt quando command sta ancora "pensando" a
cosa produrre dopo.
-S, --histsize N
Limita l'elenco della cronologia a N voci, troncando il file della cronologia (impostazione predefinita: 300). UN
dimensione negativa -N significa lo stesso di N, ma tratta il file della cronologia come di sola lettura.
-S, --prompt sostitutivo pronto
Sostituisci il prompt specificato per commandproprio prompt. Utile soprattutto quando
command non ha un prompt.
-T, --set-nome-termine Nome
Impostato command's TERMINE per Nome. Programmi che confondono avvolgere con fantasioso controllo dello schermo
i codici a volte possono essere domati specificando -t muto
-in, --versione
Stampa la versione rlwrap.
-w, --aspetta-prima-della-richiesta timeout
Per determinare se commandl'ultimo output di è un prompt, avvolgere attese timeout
millisecondi dopo averlo ricevuto. Solo quando non è arrivata più uscita, è cotta
(colorato, filtrato e/o sostituito da un prompt sostitutivo) e visualizzato come a
richiesta. Prima di questo viene visualizzato il messaggio "crudo". La maggior parte degli utenti non se ne accorgerà,
ma i fornelli pesanti possono anteporre il timeout con un segno meno, facendo mantenere rlwrap
indietro il prompt fino a quando non è stato cotto ("modalità paziente"). Questo impedirà
lampeggio del prompt, ma interferirà anche con lunghe linee di output e renderà
passa dalla modalità diretta alla modalità readline meno affidabile. Timeout predefinito: 40 ms
-W, --sondaggio
SPERIMENTALE: Svegliati ogni timeout millisecondi, dove timeout è lo stesso di
-w (--wait-before-prompt), 40 ms per impostazione predefinita. Questo è usato per percepire il
carattere di interruzione dello slave e flag ISIG e per regolare le impostazioni del terminale di stdin
di conseguenza, anche prima di premere un tasto. Prova questa opzione ad esempio quando agisce CTRL-C
diversamente command con e senza rlwrap.
-z, --filtro filtro
Usa un filtro per cambiare avvolgerecomportamento di. Un filtro può essere utilizzato per garantire la certezza
input dalla cronologia, per modificare il prompt, per implementare semplici macro o
completamento programmabile.. avvolgere viene fornito con uno speciale perl modulo (cfr.
RlwrapFilter(3pm)) per una facile scrittura del filtro. Alcuni filtri di esempio sono
installato nella directory /usr/share/rlwrap/filters. "rlwrap -z filtro" mostra
informazioni su un filtro, "elenco rlwrap -z" elenca tutti quelli attualmente installati
filtri. Se filtro ha bisogno di argomenti, dovresti citare l'intero comando del filtro
line:
rlwrap -z 'filtro argomenti' comando
Se questa riga di comando contiene metacaratteri della shell, avvolgere lo passa al sistema
shell per l'analisi.
ESEMPI
Correre nc (netcat) con modifica e cronologia della riga di comando
avvolgere nc
Avvolgere smbclient (che usa readline stesso), tieni le password fuori dalla cronologia e non farlo
comandi wrap lanciati da smbclient (come Scopri di più)
avvolgere -unaPassword: -N smbclient //ARACHIDI/C
Avvolgere goffo (un interprete Scheme) con un prompt blu in grassetto, abilita la modifica su più righe
(usando .scm come estensione del nome del file) e non considerare le virgolette singole come virgolette (in modo che il
parentesi ad es. (stampa 'q) corrisponde)
avvolgere -pBlu -m -M .scm -Q'"' Perbacco
Ottieni un elenco di tutti i filtri attualmente installati
avvolgere -z annuncio
Chiedi aiuto per il filtro pipetta
avvolgere -z pipetta
Avvolgere sqlite3, Usa il pipetta filtro per essere in grado di reindirizzare l'output dei comandi SQL attraverso
grep e / o meno, completa (senza distinzione tra maiuscole e minuscole) sulle parole chiave SQL in 'sql_words'
avvolgere -a -z pipetta -i -f parole_sql sqlite3 contatti.db
In uno script di shell, usa avvolgere in modalità 'one-shot' in sostituzione di read
ordine=$(rlwrap -pGiallo -S 'Tuo Pizza? ' -H ordini_passati -P Margherita -o gatto)
DIRETTO MODE E LINEA DI LETTURA MODE
La maggior parte dei semplici comandi della console mettono il tuo terminale in modalità "cotto" o "grezzo". In
modalità cotta il terminale attenderà fino a quando non si preme il tasto ENTER prima di consegnare l'intero
linea al programma, in modalità raw ogni tasto premuto viene tramandato immediatamente. In cotto
in genere è possibile utilizzare il tasto backspace, ma non i tasti freccia, per modificare l'input.
La maggior parte dei semplici comandi della console usano la modalità cotta ogni volta che vogliono intere righe di input e raw
modalità quando vogliono premere i tasti singoli. I comandi più sofisticati tendono a utilizzare la modalità raw
tutto il tempo; a volte possono essere rlwrappable con il -a (E -N) opzioni.
Quando ti avvolgere command, avvolgere lo eseguirà in una sessione separata, con il suo
"pseudo-terminale" (pty), e controlla questo pty per vedere se il pty è in modalità raw o in
modalità cotta. Nel primo caso, avvolgere copierà tutto l'input e l'output direttamente tra
command e il tuo terminale ("modalità diretta"). Nel secondo caso, avvolgere userà readline per
modifica il tuo input ("modalità readline") e monitor command's output - ogni ultima riga che
non termina con una nuova riga è un potenziale prompt. Come gestisce un tale prompt candidato
dipende dal suo essere in modalità "paziente" o "impaziente":
PAZIENTE E IMPAZIENTE MODE
If command scrive molto output, tende a essere scritto (e letto) in "pezzi". Non tutto
i pezzi finiranno con una nuova riga e dobbiamo distinguere le loro ultime righe da reali
prompt, specialmente se vogliamo riscrivere ("cook") i prompt. avvolgere risolve questo (quasi)
aspettando un po', per vedere se c'è dell'altro in arrivo. "Un po'" è 40 msec per impostazione predefinita,
ma questo può essere cambiato con il -w opzione. Normalmente avvolgere scrive il prompt sospetto
appena ricevuto, sostituendolo con una versione "cotta" dopo il tempo di attesa. Questo
si chiama modalità "impaziente". Se non ti piace l'effetto lampeggiante (che può diventare
fastidioso quando "cuoci" pesantemente il prompt) puoi mettere avvolgere in "modalità paziente" di
specificando un valore negativo con -w (es. -w -40). Rlwrap tratterrà quindi il prompt
e stampare solo se dopo la cottura.
CUCINANDO SUGGERIMENTI
Se e quando avvolgere decide di avere un prompt, eseguirà una serie di azioni su
it, a seconda delle opzioni fornite: filtering (-z), sostituendo (-S) e colorazione (-p),
in questo ordine. Il prompt "cotto" risultante viene quindi stampato (dopo aver cancellato il messaggio "crudo"
pronta, se necessario)
SPECIALE CHIAVI
Controllate + O
Accetta la riga corrente, ma non inserirla nell'elenco della cronologia. Questa azione ha un
readline nome del comando rlwrap-accetta-linea-e-dimentica
Controllate + ^
Usa un editor esterno per modificare l'input corrente (funziona solo se -m
l'opzione è impostata). Questa azione ha un readline nome del comando rlwrap-editor delle chiamate
Queste chiavi speciali sono state scelte solo per il fatto che non sono attualmente vincolate
a qualsiasi azione readline. Se non ti piacciono, (o il tuo gestore di finestre le ingoia)
possono essere rilegati in modo più sensato includendo righe come le seguenti nel tuo
~ / .inputrc:
"\M-\Cm": rlwrap-accept-line-and-forget # ESC-ENTER
"\C-xe": rlwrap-call-editor # CTRL-x e
cfr. il readline(3) pagina man
AMBIENTE
RLWRAP_HOME:
directory in cui sono conservati i file di cronologia e di completamento.
RLWRAP_EDITOR (o altro EDITOR, o altro VISIVO):
editor da utilizzare per l'input multilinea. Esempio:
export RLWRAP_EDITOR="microemacs -l%L:%C"
esporta RLWRAP_EDITOR="vi +%L"
L'ultimo esempio è l'impostazione predefinita; %L e %C sono sostituiti da numeri di riga e colonna
corrispondente alla posizione del cursore in avvolgerebuffer di modifica di
RLWRAP_FILTERDIR:
Qualsiasi eseguibile lungo il tuo PATH può in teoria essere usato come filtro, ma perché
i filtri devono seguire un protocollo piuttosto stravagante (cfr. RlwrapFilter (3)) è un
buona idea tenerli separati. Ecco perché avvolgere aggiunge una directory di filtri speciale
a $PATH appena prima di lanciare un filtro. Per impostazione predefinita, questo è
/usr/share/rlwrap/filters, ma viene utilizzato $RLWRAP_FILTERDIR se impostato.
SEGNALI
Un certo numero di segnali vengono inoltrati a command: HUP INT ESCI USR1 USR2 TERM e (tramite
il ridimensionamento commandterminale) WINCH. Un po' di attenzione viene presa per gestire TSTP (di solito un risultato di
un CTRL-Z dal terminale) in modo sensato - ad esempio, dopo aver sospeso avvolgere nel mezzo
di una modifica di linea, continuando (digitando 'fg') ti atterrerà nel punto esatto in cui ti trovi
lo sospese.
I filtri che impiegano più di 1 secondo per rispondere possono essere interrotti da un CTRL-C dal
terminale (anche se avvolgere non sopravviverà a questo)
If command cambia le sequenze di tasti che inviano un particolare segnale dalla tastiera (come
emacs, che usa CTRL-G invece di CTRL-C) avvolgere farà lo stesso (ma solo dopo il
tasto successivo - usa il --sondaggio opzione per rendere rlwrap più trasparente in questo senso)
Quando command viene ucciso da un segnale, avvolgere ripulirà, ripristinerà i suoi gestori di segnale e
poi suicidarsi inviando a se stesso lo stesso segnale. Ciò significa che la tua shell vede
lo stesso stato di uscita che avrebbe visto senza avvolgere.
REINDIRIZZAZIONE
Quando l'input standard non è un terminale, la modifica dell'input non ha senso, quindi avvolgere
ignorerà tutte le opzioni ed eseguirà semplicemente command. Quando stdout (o stderr) non è a
terminale, rlwrap lo riaprirà in /dev/tty (il terminale degli utenti) dopo che è stato avviato
command, Cosicché commandl'output di viene reindirizzato come previsto, ma l'input da tastiera e
avvolgere i messaggi di errore sono ancora visibili.
Il risultato di questo è che avvolgere command si comporta più o meno come command quando
reindirizzamento.
EXIT STATUS
diverso da zero dopo a avvolgere errore, oppure commandlo stato di uscita di. avvolgere lascerà sempre il
terminale in ordine, anche dopo un crash.
Usa rlwrap online utilizzando i servizi onworks.net
