IngleseFranceseSpagnolo

Ad


Favicon di OnWorks

bash - Online nel cloud

Esegui bash nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando bash 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


bash - GNU Bourne-Again SHell

SINOSSI


bash [opzioni] [stringa_comando | file]

COPYRIGHT


Bash è protetto da copyright (C) 1989-2013 della Free Software Foundation, Inc.

DESCRIZIONE


Bash offre sh- interprete del linguaggio di comando compatibile che esegue i comandi letti dal
input standard o da un file. Bash incorpora anche funzioni utili dal Korn ed C
conchiglie (ksh ed csh).

Bash intende essere un'implementazione conforme della parte Shell and Utilities di
la specifica IEEE POSIX (IEEE Standard 1003.1). Bash può essere configurato per essere POSIX-
conforme per impostazione predefinita.

VERSIONI


Tutte le opzioni di shell a carattere singolo documentate nella descrizione del set
il comando builtin può essere usato come opzione quando viene invocata la shell. Inoltre, bash
interpreta le seguenti opzioni quando viene invocato:

-c Se l' -c l'opzione è presente, quindi i comandi vengono letti dalla prima non opzione
argomento stringa_comando. Se ci sono argomenti dopo il stringa_comando, Hanno
sono assegnati ai parametri posizionali, a partire da $0.
-i Se l' -i l'opzione è presente, la shell è interattivo.
-l Make bash agire come se fosse stato invocato come shell di login (vedi INVOCAZIONE sotto).
-r Se l' -r l'opzione è presente, la shell diventa limitato (Vedi LIMITATO SHELL
sotto).
-s Se l' -s l'opzione è presente o se non rimangono argomenti dopo l'elaborazione dell'opzione,
quindi i comandi vengono letti dallo standard input. Questa opzione consente di
parametri posizionali da impostare quando si invoca una shell interattiva.
-D Un elenco di tutte le stringhe tra virgolette precedute da $ è stampato sullo standard
produzione. Queste sono le stringhe che sono soggette a traduzione linguistica quando il
la localizzazione attuale non è C or POSIX. Ciò implica il -n opzione; nessun comando lo farà
essere eseguito.
[-+]O [opzione_negozio]
opzione_negozio è una delle opzioni di shell accettate dal negozio incorporato (vedi
SHELL COSTRUZIONE COMANDI qui di seguito). Se opzione_negozio è presente, -O imposta il valore di
quell'opzione; +O lo disattiva. Se opzione_negozio non viene fornito, i nomi e
valori delle opzioni della shell accettate da negozio sono stampati sullo standard
produzione. Se l'opzione di invocazione è +O, l'output viene visualizzato in un formato
che può essere riutilizzato come input.
-- A -- segnala la fine delle opzioni e disabilita l'ulteriore elaborazione delle opzioni. Qualsiasi
argomenti dopo il -- vengono trattati come nomi di file e argomenti. Un argomento di -
è equivalente --.

Bash interpreta anche una serie di opzioni multi-carattere. Queste opzioni devono apparire su
la riga di comando prima delle opzioni a carattere singolo da riconoscere.

--debugger
Organizzare l'esecuzione del profilo del debugger prima dell'avvio della shell. Accende
modalità di debug estesa (vedere la descrizione del extdebug opzione per il negozio
integrato sotto).
--dump-po-stringhe
Equivalente a -D, ma l'output è in GNU gettext po (oggetto portatile) file
formato.
--dump-stringhe
Equivalente a -D.
--Aiuto Visualizza un messaggio di utilizzo sullo standard output ed esci con successo.
--file-init filetto
--rcfile filetto
Esegui comandi da filetto invece del file di inizializzazione a livello di sistema
/etc/bash.bashrc e il file di inizializzazione personale standard ~ / .bashrc se l'
shell è interattiva (vedi INVOCAZIONE sotto).

--Accedere
Equivalente a -l.

--nessuna modifica
Non usare GNU readline libreria per leggere le righe di comando quando la shell è
interattivo.

--nessun profilo
Non leggere nemmeno il file di avvio a livello di sistema / etc / profile o uno qualsiasi dei personali
file di inizializzazione ~ / .bash_profile, ~ / .bash_login, o ~ / .profile. Di default,
bash legge questi file quando viene invocato come shell di login (vedi INVOCAZIONE sotto).

--Norc Non leggere ed eseguire il file di inizializzazione a livello di sistema /etc/bash.bashrc ed
il file di inizializzazione personale ~ / .bashrc se la shell è interattiva. Questo
l'opzione è attiva per impostazione predefinita se la shell viene invocata come sh.

--posix
Cambia il comportamento di bash dove l'operazione predefinita è diversa da POSIX
standard in modo che corrisponda allo standard (posix modo). Vedere VEDERE ANCHE sotto per un riferimento a
un documento che descrive in dettaglio come la modalità posix influisce sul comportamento di bash.

--limitato
La shell diventa ristretta (vedi LIMITATO SHELL sotto).

--verboso
Equivalente a -v.

--versione
Mostra le informazioni sulla versione per questa istanza di bash sullo standard output ed esci
con successo.

ARGOMENTI


Se gli argomenti rimangono dopo l'elaborazione dell'opzione e nessuno dei due -c né l' -s l'opzione è stata
fornito, si presume che il primo argomento sia il nome di un file contenente shell
comandi. Se bash è invocato in questo modo, $0 è impostato sul nome del file e il
i parametri posizionali sono impostati sugli argomenti rimanenti. Bash legge ed esegue
comandi da questo file, quindi esce. Bashlo stato di uscita di è lo stato di uscita dell'ultimo
comando eseguito nello script. Se non vengono eseguiti comandi, lo stato di uscita è 0. An
viene prima fatto un tentativo di aprire il file nella directory corrente e, se non viene trovato alcun file,
quindi la shell cerca le directory in PERCORSO per la sceneggiatura.

INVOCAZIONE


A accesso conchiglia è uno il cui primo carattere dell'argomento zero è a -, o uno iniziato con
, il --Accedere opzione.

An interattivo shell è uno avviato senza argomenti non-option e senza il -c opzione
il cui ingresso standard ed errore sono entrambi collegati ai terminali (come determinato da
isatt(3)), o uno iniziato con il -i opzione. PS1 è impostato e $- inclusi i if bash is
interattivo, consentendo a uno script di shell oa un file di avvio di testare questo stato.

I paragrafi seguenti descrivono come bash esegue i suoi file di avvio. Se qualcuno dei
i file esistono ma non possono essere letti, bash segnala un errore. Le tilde sono espanse nei nomi dei file
come descritto di seguito sotto tilde Espansione nel ESPANSIONE .

Quando bash viene invocato come shell di login interattiva, o come shell non interattiva con il
--Accedere opzione, prima legge ed esegue i comandi dal file / etc / profile, Se tale
il file esiste. Dopo aver letto quel file, cerca ~ / .bash_profile, ~ / .bash_logine
~ / .profile, in quell'ordine, e legge ed esegue i comandi dal primo esistente
ed è leggibile. Il --nessun profilo l'opzione può essere utilizzata quando la shell viene avviata per inibire
questo comportamento.

Quando esce una shell di login, bash legge ed esegue comandi dal file ~ / .bash_logout,
se esiste.

Quando viene avviata una shell interattiva che non è una shell di login, bash legge ed esegue
comandi da /etc/bash.bashrc ed ~ / .bashrc, se questi file esistono. Questo può essere inibito
tramite la configurazione di ricerca --Norc opzione. Il --rcfile filetto l'opzione forzerà bash da leggere ed eseguire
comandi da filetto invece di /etc/bash.bashrc ed ~ / .bashrc.

Quando bash viene avviato in modo non interattivo, per eseguire uno script di shell, ad esempio, cerca
la variabile BASH_ENV nell'ambiente, espande il suo valore se vi appare, e usa
il valore espanso come nome di un file da leggere ed eseguire. Bash si comporta come se
sono stati eseguiti i seguenti comandi:
if [ -n "$BASH_ENV" ]; poi . "$BASH_ENV"; fi
ma il valore di PERCORSO variabile non viene utilizzata per cercare il nome del file.

If bash viene invocato con il nome sh, cerca di imitare il comportamento di avvio di Historical
versioni di sh il più vicino possibile, pur essendo conforme anche allo standard POSIX.
Quando invocato come shell di login interattiva o shell non interattiva con il --Accedere
opzione, tenta prima di leggere ed eseguire comandi da / etc / profile ed ~ / .profile,
in questo ordine. Il --nessun profilo opzione può essere utilizzata per inibire questo comportamento. Quando invocato
come shell interattiva con il nome sh, bash cerca la variabile ENV, espande il suo
value se è definito e usa il valore espanso come nome di un file da leggere e
eseguire. Poiché una shell invocata come sh non tenta di leggere ed eseguire comandi da
qualsiasi altro file di avvio, il --rcfile l'opzione non ha effetto. Una shell non interattiva
invocato con il nome sh non tenta di leggere altri file di avvio. Quando invocato
as sh, bash entra posix modalità dopo la lettura dei file di avvio.

Quando bash è iniziato in posix modalità, come con il --posix opzione della riga di comando, segue
lo standard POSIX per i file di avvio. In questa modalità, le shell interattive espandono il ENV
variabile e comandi vengono letti ed eseguiti dal file il cui nome è espanso
valore. Non vengono letti altri file di avvio.

Bash tenta di determinare quando è in esecuzione con il suo ingresso standard collegato a a
connessione di rete, come quando viene eseguito dal demone della shell remota, di solito rsdo
demone della shell sicura sshd. Se bash determina che viene eseguito in questo modo, si legge
ed esegue comandi da ~ / .bashrc ed ~ / .bashrc, se questi file esistono e sono leggibili.
Non lo farà se invocato come sh. --Norc l'opzione può essere utilizzata per inibire questo
comportamento, e il --rcfile può essere usata per forzare la lettura di un altro file, ma
nessuno dei due rsdsshd generalmente invocare la shell con quelle opzioni o consentire loro di essere
specificato.

Se la shell viene avviata con l'ID utente effettivo (gruppo) non uguale all'utente reale
(gruppo) id, e il -p l'opzione non è fornita, nessun file di avvio viene letto, le funzioni della shell
non sono ereditati dall'ambiente, il CONCHIGLIE, BASHOPTI, CDPATHe GLOBIGNORE
le variabili, se compaiono nell'ambiente, vengono ignorate e l'ID utente effettivo è
impostato sull'ID utente reale. Se la -p l'opzione viene fornita al momento dell'invocazione, il comportamento di avvio
è lo stesso, ma l'ID utente effettivo non viene reimpostato.

DEFINIZIONI


Le seguenti definizioni vengono utilizzate nel resto di questo documento.
vuoto Uno spazio o una scheda.
parola Una sequenza di caratteri considerata come una singola unità dalla shell. Conosciuto anche come a
token.
Nome A parola composto solo da caratteri alfanumerici e trattini bassi e inizio
con un carattere alfabetico o un carattere di sottolineatura. Chiamato anche an identificatore.
metacarattere
Un carattere che, se non citato, separa le parole. Uno dei seguenti:
| & ; ( ) < > spazio linguetta
di controllo operatore
A token che svolge una funzione di controllo. È uno dei seguenti simboli:
|| & && ; ;; ( ) | |&

RISERVATO PAROLE


RISERVATO parole sono parole che hanno un significato speciale per il guscio. Le seguenti parole
sono riconosciuti come riservati quando non quotati e sia la prima parola di un semplice comando
(Vedi SHELL GRAMMATICA sotto) o la terza parola di a Custodie or per comando:

! Custodie coproc do fatto Elif altro che C fi per function if in select poi fino a quando while { }
tempo [[ ]]

SHELL GRAMMATICA


Un'espansione Comandi
A semplice command è una sequenza di assegnazioni di variabili facoltative seguite da vuoto-
parole separate e reindirizzamenti, e terminati da a di controllo operatore. La prima parola
specifica il comando da eseguire e viene passato come argomento zero. Le parole rimanenti
vengono passati come argomenti al comando invocato.

Il valore di ritorno di a semplice command è il suo stato di uscita, o 128+n se il comando è
terminato dal segnale n.

Condotte
A conduttura è una sequenza di uno o più comandi separati da uno degli operatori di controllo
| or |&. Il formato per una pipeline è:

[tempo [-p]] [ ! ] command [ [||&] command2 ...]

L'uscita standard di command è collegato tramite un tubo all'ingresso standard di command2.
Questa connessione viene eseguita prima di qualsiasi reindirizzamento specificato dal comando (vedi
REINDIRIZZAZIONE qui di seguito). Se |& si usa, commandl'errore standard, oltre al suo standard
uscita, è collegato a command2l' ingresso standard attraverso il tubo; è una scorciatoia per
2> e 1 |. Questo reindirizzamento implicito dell'errore standard allo standard output è
eseguito dopo qualsiasi reindirizzamento specificato dal comando.

Lo stato di ritorno di una pipeline è lo stato di uscita dell'ultimo comando, a meno che il
tubo fallito l'opzione è abilitata. Se tubo fallito è abilitato, lo stato di ritorno della pipeline è il
valore dell'ultimo comando (più a destra) per uscire con uno stato diverso da zero, o zero se tutto
i comandi escono con successo. Se la parola riservata ! precede un gasdotto, lo stato di uscita
di tale gasdotto è la negazione logica dello stato di uscita come sopra descritto. Il guscio
attende il termine di tutti i comandi nella pipeline prima di restituire un valore.

Se l' tempo la parola riservata precede una pipeline, il tempo trascorso, l'utente e il tempo di sistema
consumati dalla sua esecuzione vengono segnalati al termine della pipeline. Il -p opzione
cambia il formato di output in quello specificato da POSIX. Quando il guscio è dentro posix modo, esso
non riconosce tempo come parola riservata se il token successivo inizia con un `-'. Il
FORMATO ORARIO la variabile può essere impostata su una stringa di formato che specifica come i tempi
le informazioni dovrebbero essere visualizzate; vedere la descrizione di FORMATO ORARIO per Conchiglia Variabili
qua sotto.

Quando il guscio è dentro posix modo, tempo può essere seguito da una nuova riga. In questo caso, il
shell mostra il tempo totale dell'utente e del sistema consumato dalla shell e dai suoi figli. Il
FORMATO ORARIO variabile può essere utilizzata per specificare il formato delle informazioni sull'ora.

Ogni comando in una pipeline viene eseguito come un processo separato (cioè in una subshell).

elenchi
A stratagemma è una sequenza di una o più condotte separate da uno degli operatori ;, &, &&,
or ||, e facoltativamente terminato da uno dei ;, &, o .

Di questi operatori di elenco, && ed || hanno uguale precedenza, seguito da ; ed &, che hanno
uguale precedenza.

Una sequenza di una o più nuove righe può apparire in a stratagemma invece del punto e virgola per delimitare
comandi.

Se un comando viene terminato dall'operatore di controllo &, la shell esegue il comando in
, il sfondo in un sottoscala. La shell non aspetta che il comando finisca e il
lo stato di ritorno è 0. Comandi separati da a ; vengono eseguiti in sequenza; la conchiglia aspetta
affinché ogni comando termini a turno. Lo stato di ritorno è lo stato di uscita dell'ultimo
comando eseguito.

Le liste AND e OR sono sequenze di una o più pipeline separate da && ed || di controllo
operatori, rispettivamente. Gli elenchi AND e OR vengono eseguiti con associatività sinistra. un AND
la lista ha la forma

command1 && command2

command2 viene eseguito se, e solo se, command1 restituisce uno stato di uscita pari a zero.

Una lista OR ha la forma

command1 || command2

command2 viene eseguito se e solo se command1 restituisce uno stato di uscita diverso da zero. Il ritorno
lo stato delle liste AND e OR è lo stato di uscita dell'ultimo comando eseguito nella lista.

Compound Comandi
A composto command è uno dei seguenti. Nella maggior parte dei casi a stratagemma in un comando
descrizione può essere separata dal resto del comando da una o più nuove righe e può
essere seguito da una nuova riga al posto del punto e virgola.

(stratagemma) stratagemma viene eseguito in un ambiente subshell (vedi COMANDO ESECUZIONE AMBIENTE
qui di seguito). Assegnazioni di variabili e comandi interni che influenzano la shell
ambiente non rimangono attivi dopo il completamento del comando. Lo stato di ritorno
è lo stato di uscita di stratagemma.

{ stratagemma; }
stratagemma viene semplicemente eseguito nell'ambiente della shell corrente. stratagemma deve essere terminato
con una nuova riga o un punto e virgola. Questo è noto come a gruppo command. Lo stato di ritorno
è lo stato di uscita di stratagemma. Nota che a differenza dei metacaratteri ( ed ), { ed }
sono riservato parole e deve verificarsi dove una parola riservata può essere
riconosciuto. Poiché non causano interruzioni di parola, devono essere separati da stratagemma
da uno spazio bianco o da un altro metacarattere della shell.

((espressione))
I espressione viene valutato secondo le regole descritte di seguito al punto ARITMETICA
VALUTAZIONE. Se il valore dell'espressione è diverso da zero, lo stato di ritorno è 0;
altrimenti lo stato di ritorno è 1. Questo è esattamente equivalente a lasciare "espressione".

[[ espressione ]]
Restituisce uno stato di 0 o 1 a seconda della valutazione dell'espressione condizionale
espressione. Le espressioni sono composte dai primari descritti di seguito sotto
CONDIZIONALE ESPRESSIONI. La suddivisione in parole e l'espansione del percorso non vengono eseguite
sulle parole tra i [[ ed ]]; espansione tilde, parametro e variabile
espansione, espansione aritmetica, sostituzione di comando, sostituzione di processo e
la rimozione del preventivo viene eseguita. Operatori condizionali come -f deve essere non quotato a
essere riconosciuti come primari.

Se usato con [[, le < ed > gli operatori ordinano lessicograficamente usando la corrente
Locale.

Vedi la descrizione del test comando integrato (sezione COMANDI INCORPORATI DELLA SHELL di seguito) per
la gestione dei parametri (cioè i parametri mancanti).

Quando il == ed != vengono utilizzati gli operatori, la stringa a destra dell'operatore è
considerato un modello e abbinato secondo le regole descritte di seguito sotto Cartamodello
accoppiamento, come se il extglob l'opzione shell è stata abilitata. Il = operatore è equivalente a
==. Se l'opzione shell nocasematch è abilitato, la partita viene eseguita indipendentemente da
il caso dei caratteri alfabetici. Il valore restituito è 0 se la stringa corrisponde a (==) o puoi
non corrisponde (!=) il modello e 1 altrimenti. Qualsiasi parte del modello può essere citata
per forzare la corrispondenza della parte tra virgolette come stringa.

Un ulteriore operatore binario, =~, è disponibile, con la stessa precedenza di == ed !=.
Quando viene utilizzata, la stringa a destra dell'operatore è considerata una normale estesa
espressione e abbinato di conseguenza (come in regex(3)). Il valore restituito è 0 se la stringa
corrisponde al modello e 1 altrimenti. Se l'espressione regolare è sintatticamente
errato, il valore restituito dall'espressione condizionale è 2. Se l'opzione shell
nocasematch è abilitato, la corrispondenza viene eseguita indipendentemente dal caso alfabetico
caratteri. Qualsiasi parte del modello può essere citata per forzare la parte citata ad essere
abbinato come una stringa. Le espressioni tra parentesi nelle espressioni regolari devono essere trattate
attentamente, poiché i normali caratteri di citazione perdono il loro significato tra parentesi. Se la
pattern è memorizzato in una variabile di shell, citando l'espansione della variabile forza l'intero
pattern da abbinare come stringa. Sottostringhe abbinate a sottoespressioni tra parentesi
all'interno dell'espressione regolare vengono salvati nella variabile array BASH_REMATCH. L'elemento
of BASH_REMATCH con indice 0 è la porzione della stringa che corrisponde all'intera regolare
espressione. L'elemento di BASH_REMATCH con indice n è la porzione della stringa
abbinando il nsottoespressione tra parentesi.

Le espressioni possono essere combinate utilizzando i seguenti operatori, elencati in ordine decrescente di
precedenza:

( espressione )
Restituisce il valore di espressione. Questo può essere usato per ignorare il normale
precedenza degli operatori.
! espressione
vero se espressione è falso.
espressione1 && espressione2
Vero se entrambi espressione1 ed espressione2 sono vere
espressione1 || espressione2
Vero se entrambi espressione1 or espressione2 è vero.

I && ed || gli operatori non valutano espressione2 se il valore di espressione1 is
sufficiente per determinare il valore di ritorno dell'intera espressione condizionale.

per Nome [ [ in [ parola ... ]] ; ] do stratagemma ; fatto
L'elenco delle parole che seguono in viene espanso, generando un elenco di elementi. Il
variabile Nome è impostato a turno su ciascun elemento di questa lista, e stratagemma viene eseguito
ogni volta. Se la in parola viene omesso, il per il comando viene eseguito stratagemma una volta per ciascuno
parametro posizionale impostato (vedi PARAMETRI qui di seguito). Lo stato di ritorno è il
stato di uscita dell'ultimo comando eseguito. Se l'espansione degli elementi
i seguenti in risulta in un elenco vuoto, nessun comando viene eseguito e il ritorno
lo stato è 0.

per (( espr1 ; espr2 ; espr3 )) ; do stratagemma ; fatto
In primo luogo, l'espressione aritmetica espr1 viene valutato secondo le regole
descritto di seguito sotto ARITMETICA VALUTAZIONE. L'espressione aritmetica espr2 is
quindi valutato ripetutamente finché non restituisce zero. Ogni volta espr2 valuta
un valore diverso da zero, stratagemma viene eseguito e l'espressione aritmetica espr3 is
valutato. Se un'espressione viene omessa, si comporta come se valutasse 1. Il
il valore di ritorno è lo stato di uscita dell'ultimo comando in stratagemma che viene eseguito, o
false se una delle espressioni non è valida.

select Nome [ in parola ]; do stratagemma ; fatto
L'elenco delle parole che seguono in viene espanso, generando un elenco di elementi. Il set di
le parole espanse sono stampate sull'errore standard, ciascuna preceduta da un numero. Se la
in parola viene omesso, vengono stampati i parametri posizionali (vedi PARAMETRI sotto).
I PS3 viene quindi visualizzato il prompt e viene letta una riga dallo standard input. Se la
la riga è composta da un numero corrispondente ad una delle parole visualizzate, quindi il
valore di Nome è impostato su quella parola. Se la riga è vuota, le parole e il prompt sono
visualizzato di nuovo. Se viene letto EOF, il comando viene completato. Qualsiasi altro valore letto
cause Nome essere impostato su null. La riga letta viene salvata nella variabile REPLY.
stratagemma viene eseguito dopo ogni selezione fino a rompere comando viene eseguito. L'uscita
stato di select è lo stato di uscita dell'ultimo comando eseguito in stratagemma, o zero
se non sono stati eseguiti comandi.

Custodie parola in [ [(] modello [ | modello ] ...) stratagemma ;; ]... che C
A Custodie il comando prima si espande parola, e cerca di confrontarlo con ciascuno modello in
turno, usando le stesse regole di corrispondenza dell'espansione del percorso (vedi Pathname
Espansione sotto). Il parola viene espanso utilizzando espansione tilde, parametro e
espansione variabile, sostituzione aritmetica, sostituzione di comando, processo
sostituzione e rimozione preventivo. Ogni modello esaminato è espanso usando tilde
espansione, espansione di parametri e variabili, sostituzione aritmetica, comando
sostituzione e sostituzione del processo. Se l'opzione shell nocasematch is
abilitato, la corrispondenza viene eseguita indipendentemente dal caso alfabetico
caratteri. Quando viene trovata una corrispondenza, il corrispondente stratagemma viene eseguito. Se la ;;
viene utilizzato l'operatore, non vengono tentate corrispondenze successive dopo il primo modello
corrispondere. Usando ;& al posto di ;; fa sì che l'esecuzione continui con il stratagemma
associata alla serie successiva di modelli. Usando ;;& al posto di ;; causa il
shell per testare il prossimo elenco di modelli nell'istruzione, se presente, ed eseguirne uno
associato stratagemma su una partita andata a buon fine. Lo stato di uscita è zero se nessun modello
partite. Altrimenti è lo stato di uscita dell'ultimo comando eseguito in stratagemma.

if stratagemma; poi stratagemma; [ Elif stratagemma; poi stratagemma; ] ... [ altro stratagemma; ] fi
I if stratagemma viene eseguito. Se il suo stato di uscita è zero, il poi stratagemma viene eseguito.
In caso contrario, ciascuno Elif stratagemma viene eseguito a sua volta, e se il suo stato di uscita è zero, il
corrispondente poi stratagemma viene eseguito e il comando viene completato. In caso contrario, il altro
stratagemma viene eseguito, se presente. Lo stato di uscita è lo stato di uscita dell'ultimo
comando eseguito o zero se nessuna condizione è stata verificata come vera.

while lista-1; do lista-2; fatto
fino a quando lista-1; do lista-2; fatto
I while il comando esegue continuamente l'elenco lista-2 finché l'ultimo comando
nella lista lista-1 restituisce uno stato di uscita pari a zero. Il fino a quando il comando è identico
Vai all’email while comando, tranne che il test viene negato; lista-2 viene eseguito finché
come ultimo comando in lista-1 restituisce uno stato di uscita diverso da zero. Lo stato di uscita di
, il while ed fino a quando comandi è lo stato di uscita dell'ultimo comando eseguito in
lista-2, o zero se non ne è stato eseguito nessuno.

coprocessi
A coprocesso è un comando di shell preceduto dal coproc parola riservata. Un coprocesso è
eseguito in modo asincrono in una subshell, come se il comando fosse stato terminato con il &
operatore di controllo, con un tubo a due vie stabilito tra il guscio di esecuzione e il
coprocesso.

Il formato per un coprocesso è:

coproc [NOME] command [redirect]

Questo crea un coprocesso chiamato NOME. Se NOME non è fornito, il nome predefinito è COPROC.
NOME non deve essere fornito se command è un semplice command (vedi sopra); altrimenti è
interpretata come la prima parola del semplice comando. Quando il coprocesso viene eseguito, il
shell crea una variabile array (vedi Array sotto) chiamato NOME nel contesto di
esecuzione della shell. L'uscita standard di command è collegato tramite una pipe a un file
descrittore nella shell di esecuzione e a quel descrittore di file è assegnato NOME[0]. Il
ingresso standard di command è connesso tramite una pipe a un descrittore di file nell'esecuzione
shell e quel descrittore di file è assegnato a NOME[1]. Questo tubo è stabilito prima
eventuali reindirizzamenti specificati dal comando (vedi REINDIRIZZAZIONE qui di seguito). I descrittori di file
possono essere utilizzati come argomenti per comandi di shell e reindirizzamenti usando la parola standard
espansioni. I descrittori di file non sono disponibili nelle subshell. L'ID di processo del
shell generata per eseguire il coprocesso è disponibile come valore della variabile NOME_PID.
I aspettare il comando builtin può essere usato per attendere la fine del coprocesso.

Poiché il coprocesso viene creato come comando asincrono, il coproc comanda sempre
restituisce il successo. Lo stato di ritorno di un coprocesso è lo stato di uscita di command.

Conchiglia Funzione Definizioni
Una funzione di shell è un oggetto che viene chiamato come un semplice comando ed esegue un composto
comando con un nuovo set di parametri posizionali. Le funzioni della shell sono dichiarate come segue:

Nome () comando-composto [reindirizzamento]
function Nome [()] comando-composto [reindirizzamento]
Questo definisce una funzione denominata Nome. La parola riservata function è facoltativo. Se
, il function viene fornita la parola riservata, le parentesi sono facoltative. Il stile di vita of
la funzione è il comando composto comando-composto (Vedi Compound Comandi
sopra). Quel comando di solito è a stratagemma di comandi tra { e }, ma può essere qualsiasi
comando elencato sotto Compound Comandi sopra. comando-composto viene eseguito
ogni volta che Nome è specificato come nome di un semplice comando. Quando in posix modo,
Nome potrebbe non essere il nome di uno dei POSIX la nostra speciale incorporati. Eventuali reindirizzamenti
(Vedi REINDIRIZZAZIONE sotto) specificati quando viene definita una funzione vengono eseguiti quando i
viene eseguita la funzione. Lo stato di uscita di una definizione di funzione è zero a meno che a
si verifica un errore di sintassi o esiste già una funzione di sola lettura con lo stesso nome. quando
eseguito, lo stato di uscita di una funzione è lo stato di uscita dell'ultimo comando
eseguito nel corpo. (Vedere FUNZIONI sotto.)

COMMENTI


In una shell non interattiva, o una shell interattiva in cui il commenti_interattivi
opzione per il negozio builtin è abilitato (vedi SHELL COSTRUZIONE COMANDI sotto), una parola
iniziando con # fa sì che quella parola e tutti i caratteri rimanenti su quella riga vengano ignorati.
Una shell interattiva senza il commenti_interattivi l'opzione abilitata non consente
Commenti. Il commenti_interattivi l'opzione è attiva per impostazione predefinita nelle shell interattive.

CITAZIONE


Quoting viene utilizzato per rimuovere il significato speciale di determinati caratteri o parole dalla shell.
La citazione può essere utilizzata per disabilitare il trattamento speciale per i caratteri speciali, per prevenire
parole riservate vengano riconosciute come tali e per impedire l'espansione dei parametri.

Ciascuno dei metacaratteri elencato sopra sotto DEFINIZIONI ha un significato speciale per il guscio
e deve essere citato se deve rappresentare se stesso.

Quando vengono utilizzate le strutture di espansione della cronologia dei comandi (vedi STORIA ESPANSIONE
sotto), il storia espansione carattere, di solito !, deve essere citato per prevenire la storia
espansione.

Esistono tre meccanismi di citazione: il fuga carattere, virgolette singole e doppie
citazioni.

Una barra rovesciata non quotata (\) È l' fuga carattere. Conserva il valore letterale di
carattere successivo che segue, ad eccezione di . Se un \coppia
appare e la barra rovesciata non è di per sé citata, il \è trattato come una linea
continuazione (ovvero, viene rimosso dal flusso di input ed effettivamente ignorato).

Racchiudere i caratteri tra virgolette singole preserva il valore letterale di ogni carattere all'interno
le citazioni. Una singola virgoletta non può comparire tra virgolette singole, anche se preceduta da a
barra rovesciata.

Racchiudere i caratteri tra virgolette conserva il valore letterale di tutti i caratteri all'interno
le virgolette, ad eccezione di $, `, \e, quando l'espansione della cronologia è abilitata, !.
caratteri $ ed ` conservano il loro significato speciale tra virgolette. La barra rovesciata
conserva il suo significato speciale solo se seguito da uno dei seguenti caratteri: $, `,
", \, o . Una doppia virgoletta può essere citata tra virgolette facendola precedere
con una barra rovesciata. Se abilitato, l'espansione della cronologia verrà eseguita a meno che non venga ! apparendo
tra virgolette viene eseguito l'escape utilizzando una barra rovesciata. La barra rovesciata che precede il ! non è
rimosso.

I parametri speciali * ed @ hanno un significato speciale quando sono tra virgolette (vedi PARAMETRI
sotto).

Parole della forma $'stringa' sono trattati in modo speciale. La parola si espande in stringa, con
caratteri con caratteri di escape con barra rovesciata sostituiti come specificato dallo standard ANSI C. barra rovesciata
le sequenze di escape, se presenti, sono decodificate come segue:
\a avviso (campanello)
\b backspace
\e
\E un personaggio di fuga
\f feed di moduli
\n nuova linea
\r ritorno a capo
\t tab orizzontale
\v tab verticale
\\ backslash
\' virgoletta singola
\" doppia virgoletta
\nnn il carattere a otto bit il cui valore è il valore ottale nnn (da uno a tre
cifre)
\xHH il carattere a otto bit il cui valore è il valore esadecimale HH (uno o due
cifre esadecimali)
\uHhhh il carattere Unicode (ISO/IEC 10646) il cui valore è il valore esadecimale
Hhhh (da una a quattro cifre esadecimali)
\UHHHHHHH
il carattere Unicode (ISO/IEC 10646) il cui valore è il valore esadecimale
HHHHHHH (da una a otto cifre esadecimali)
\cx un controllo-x carattere

Il risultato espanso è a virgolette singole, come se il simbolo del dollaro non fosse presente.

Una stringa tra virgolette preceduta dal simbolo del dollaro ($"stringa") farà sì che la stringa sia
tradotto in base alla lingua corrente. Se la locale corrente è C or POSIX, le
il simbolo del dollaro viene ignorato. Se la stringa viene tradotta e sostituita, la sostituzione è
doppiamente quotato.

PARAMETRI


A parametro è un'entità che memorizza i valori. Può essere un Nome, un numero o uno dei
caratteri speciali elencati di seguito sotto Special parametri. UN variabile è un parametro
indicato con a Nome. Una variabile ha a APPREZZIAMO e zero o più gli attributi. Gli attributi sono
assegnato utilizzando il dichiarare comando integrato (vedi dichiarare sotto in SHELL COSTRUZIONE COMANDI).

Un parametro è impostato se gli è stato assegnato un valore. La stringa nulla è un valore valido.
Una volta che una variabile è stata impostata, può essere annullata solo usando il tasto non settato comando integrato (vedi SHELL
COSTRUZIONE COMANDI sotto).

A variabile può essere assegnato da una dichiarazione del modulo

Nome=[APPREZZIAMO]

If APPREZZIAMO non è dato, alla variabile è assegnata la stringa nulla. Tutto valori subire tilde
espansione, espansione di parametri e variabili, sostituzione di comando, espansione aritmetica,
e rimozione delle citazioni (vedi ESPANSIONE qui di seguito). Se la variabile ha il suo numero intero insieme di attributi,
poi APPREZZIAMO viene valutata come un'espressione aritmetica anche se l'espansione $((...)) non lo è
usato (vedi Aritmetica Espansione qui di seguito). La suddivisione delle parole non viene eseguita, con il
eccezione di "$@" come spiegato di seguito sotto Special parametri. L'espansione del nome del percorso non lo è
eseguita. Le istruzioni di assegnazione possono anche apparire come argomenti per il alias, dichiarare,
comporre, export, in sola letturae locale comandi incorporati. Quando in posix modo, questi incorporati
può apparire in un comando dopo una o più istanze del command incorporare e conservare
queste proprietà dell'istruzione di assegnazione.

Nel contesto in cui un'istruzione di assegnazione assegna un valore a una variabile di shell o
indice dell'array, l'operatore += può essere utilizzato per aggiungere o aggiungere al precedente della variabile
valore. Quando += viene applicato a una variabile per la quale il numero intero l'attributo è stato impostato,
APPREZZIAMO viene valutato come un'espressione aritmetica e aggiunto al valore corrente della variabile,
che viene anche valutato. Quando += viene applicato a una variabile di matrice usando compound
incarico (vedi Array sotto), il valore della variabile non è unset (come quando si usa =),
e i nuovi valori vengono aggiunti all'array a partire da uno maggiore del massimo dell'array
index (per array indicizzati) o aggiunti come coppie chiave-valore aggiuntive in un array associativo.
Quando applicato a una variabile con valori di stringa, APPREZZIAMO viene espanso e aggiunto alla variabile
valore.

Una variabile può essere assegnata al nomeref attributo usando il -n opzione per il dichiarare or
locale comandi incorporati (vedi le descrizioni di dichiarare ed locale sotto) per creare a
nomerefo un riferimento a un'altra variabile. Ciò consente di manipolare le variabili
indirettamente. Ogni volta che si fa riferimento o si assegna alla variabile nameref, l'operazione è
effettivamente eseguito sulla variabile specificata dal valore della variabile nameref. un nomeref
è comunemente usato all'interno delle funzioni di shell per fare riferimento a una variabile il cui nome è passato come an
argomento alla funzione. Ad esempio, se il nome di una variabile viene passato a una funzione di shell
come primo argomento, running
dichiarare -n ref=$1
all'interno della funzione crea una variabile nameref ref il cui valore è il nome della variabile passato
come primo argomento. Referenze e incarichi a ref sono trattati come riferimenti e
assegnazioni alla variabile il cui nome è stato passato come $1. Se la variabile di controllo in a per
loop ha l'attributo nameref, l'elenco di parole può essere un elenco di variabili di shell e a
il riferimento al nome sarà stabilito per ogni parola nell'elenco, a sua volta, quando il ciclo è
eseguito. Non è possibile assegnare alle variabili array -n attributo. Tuttavia, variabili nameref
può fare riferimento a variabili di matrice e variabili di matrice con indice. I nameref possono essere non impostati
usando il -n opzione per il non settato incorporato Altrimenti, se non settato viene eseguito con il nome
di una variabile nameref come argomento, la variabile a cui fa riferimento la variabile nameref sarà
essere disinserito.

posizionale parametri
A posizionale parametro è un parametro denotato da una o più cifre, diverse dal singolo
cifra 0. I parametri posizionali sono assegnati dagli argomenti della shell quando lo è
invocato e può essere riassegnato utilizzando il set comando incorporato. I parametri posizionali possono
non essere assegnato a con dichiarazioni di assegnazione. I parametri posizionali sono temporaneamente
sostituito quando viene eseguita una funzione di shell (vedi FUNZIONI sotto).

Quando un parametro posizionale composto da più di una singola cifra viene espanso, deve essere
racchiuso tra parentesi graffe (vedi ESPANSIONE sotto).

Special parametri
La shell tratta diversi parametri in modo speciale. Questi parametri possono essere solo referenziati;
l'assegnazione ad essi non è consentita.
* Si espande ai parametri posizionali, a partire da uno. Quando l'espansione non c'è
tra virgolette, ogni parametro posizionale si espande in una parola separata. In
contesti in cui viene eseguita, quelle parole sono soggette a un'ulteriore suddivisione in parole
e l'espansione del percorso. Quando l'espansione avviene tra virgolette, si espande
ad una sola parola con il valore di ogni parametro separato dal primo carattere
della IFS variabile speciale. Questo è, "$*" è equivalente a "$1c$2c...", dove c
è il primo carattere del valore di IFS variabile. Se IFS non è impostato, il
i parametri sono separati da spazi. Se IFS è null, i parametri sono uniti
senza l'intervento di separatori.
@ Si espande ai parametri posizionali, a partire da uno. Quando si verifica l'espansione
tra virgolette, ogni parametro si espande in una parola separata. Questo è, "$@
equivalente a "$1""$2" ... Se l'espansione tra virgolette si verifica all'interno di una parola,
l'espansione del primo parametro è unita alla parte iniziale del
parola originale, e l'espansione dell'ultimo parametro è unita all'ultima parte
della parola originale. Quando non ci sono parametri posizionali, "$@" e $@ espandere
a nulla (cioè, vengono rimossi).
# Si espande al numero di parametri posizionali in decimale.
? Si espande allo stato di uscita della pipeline in primo piano eseguita più di recente.
- Si espande ai flag dell'opzione corrente come specificato al momento dell'invocazione, dal set
comando incorporato, o quelli impostati dalla shell stessa (come il -i opzione).
$ Si espande nell'ID del processo della shell. In una () subshell, si espande in
ID di processo della shell corrente, non della subshell.
! Si espande all'ID del processo del lavoro messo più di recente in background,
se eseguito come comando asincrono o utilizzando il bg incorporato (vedi JOB
CONTROLLO sotto).
0 Si espande al nome della shell o dello script della shell. Questo è impostato su shell
inizializzazione. Se bash viene invocato con un file di comandi, $0 è impostato sul nome
di quel file. Se bash è iniziato con il -c opzione, quindi $0 è impostato sul primo
argomento dopo la stringa da eseguire, se presente. In caso contrario, è impostato
al nome del file usato per invocare bash, come dato dall'argomento zero.
_ All'avvio della shell, imposta il percorso assoluto utilizzato per invocare la shell o la shell
script in esecuzione come passato nell'ambiente o nell'elenco degli argomenti. Successivamente,
si espande all'ultimo argomento del comando precedente, dopo l'espansione. Anche impostato su
il percorso completo utilizzato per invocare ogni comando eseguito e inserito nel
ambiente esportato in quel comando. Quando si controlla la posta, questo parametro mantiene il
nome del file di posta attualmente controllato.

Conchiglia Variabili
Le seguenti variabili sono impostate dalla shell:

BASH Si espande al nome file completo utilizzato per invocare questa istanza di bash.
BASHOPTI
Un elenco separato da due punti di opzioni di shell abilitate. Ogni parola nell'elenco è un valido
argomento per il -s opzione per il negozio comando integrato (vedi SHELL COSTRUZIONE COMANDI
qui di seguito). Le opzioni che appaiono in BASHOPTI sono quelli segnalati come on by negozio. Se
questa variabile è nell'ambiente quando bash si avvia, ogni opzione di shell nel
list sarà abilitato prima di leggere qualsiasi file di avvio. Questa variabile è di sola lettura.
BASHPIDE
Si espande all'ID di processo della corrente bash processi. Questo differisce da $$ per
determinate circostanze, come subshell che non richiedono bash essere ri-
inizializzato.
BASH_ALIASES
Una variabile array associativa i cui membri corrispondono alla lista interna di
alias mantenuti dal alias incorporato Gli elementi aggiunti a questo array appaiono in
l'elenco degli alias; l'annullamento dell'impostazione degli elementi dell'array causa la rimozione degli alias dall'alias
elenco.
BASH_ARGC
Una variabile array i cui valori sono il numero di parametri in ogni fotogramma del
corrente bash stack di chiamate di esecuzione. Il numero di parametri alla corrente
subroutine (funzione di shell o script eseguito con . or source) è in cima a
la pila. Quando viene eseguita una subroutine, il numero di parametri passati è
spinto su BASH_ARGC. I set di conchiglie BASH_ARGC solo durante il debug esteso
modalità (vedere la descrizione del extdebug opzione per il negozio integrato sotto)
BASH_ARGV
Una variabile array che contiene tutti i parametri nella corrente bash esecuzione
pila di chiamate. Il parametro finale dell'ultima chiamata di subroutine è in cima al
pila; il primo parametro della chiamata iniziale è in basso. Quando una subroutine
viene eseguito, i parametri forniti vengono spinti su BASH_ARGV. I set di conchiglie
BASH_ARGV solo in modalità di debug estesa (vedere la descrizione del extdebug
opzione per il negozio integrato sotto)
BASH_CMDS
Una variabile array associativa i cui membri corrispondono alla tabella hash interna
dei comandi mantenuti dal hash incorporato Vengono visualizzati gli elementi aggiunti a questo array
nella tabella hash; l'annullamento dell'impostazione degli elementi dell'array fa sì che i comandi vengano rimossi dal
tabella hash.
BASH_COMANDO
Il comando attualmente in esecuzione o in procinto di essere eseguito, a meno che la shell non sia
eseguire un comando come risultato di un trap, nel qual caso è il comando
in esecuzione al momento della trappola.
BASH_EXECUTION_STRING
L'argomento del comando per il -c opzione di invocazione.
BASH_LINENO
Una variabile array i cui membri sono i numeri di riga nei file sorgente dove ciascuno
membro corrispondente di NOME FUNZIONALE è stato invocato. ${BASH_LINENO[$i]} è la linea
numero nel file sorgente (${BASH_SOURCE[$ i+1]}) dove ${NOMEFUNZIONE[$i]} è stato chiamato
(o ${BASH_LINENO[$ i-1]} se referenziato all'interno di un'altra funzione di shell). Uso LINENO
per ottenere il numero di riga corrente.
BASH_REMATCH
Una variabile array i cui membri sono assegnati dal =~ operatore binario per [[
comando condizionale. L'elemento con indice 0 è la porzione della stringa
corrispondenza dell'intera espressione regolare. L'elemento con indice n è la porzione di
la stringa che corrisponde a nsottoespressione tra parentesi. Questa variabile viene letta-
solo.
BASH_SOURCE
Una variabile di array i cui membri sono i nomi dei file di origine dove il corrispondente
nomi delle funzioni di shell nel NOME FUNZIONALE variabile array sono definiti. Il guscio
function ${NOMEFUNZIONE[$i]} è definito nel file ${BASH_SOURCE[$i]} e chiamato da
${BASH_SOURCE[$ i+1]}.
BASH_SUBSHELL
Incrementato di uno all'interno di ogni subshell o ambiente subshell quando la shell
inizia l'esecuzione in quell'ambiente. Il valore iniziale è 0.
BASH_VERSINFO
Una variabile array di sola lettura i cui membri contengono informazioni sulla versione per questa istanza
of bash. I valori assegnati ai membri dell'array sono i seguenti:
BASH_VERSINFO[0] Il numero di versione principale (il rilasciare).
BASH_VERSINFO[1] Il numero di versione minore (il versione).
BASH_VERSINFO[2] Il livello della patch.
BASH_VERSINFO[3] La versione build.
BASH_VERSINFO[4] Lo stato di rilascio (ad es. beta1).
BASH_VERSINFO[5] Il valore di TIPO MACCHINA.
VERSIONE_BASH
Si espande in una stringa che descrive la versione di questa istanza di bash.
COMP_CWORD
Un indice in ${COMP_WORDS} della parola contenente la posizione corrente del cursore.
Questa variabile è disponibile solo nelle funzioni di shell invocate dal programmabile
strutture di completamento (vedi Programmabile Completamento sotto).
COMP_KEY
La chiave (o la chiave finale di una sequenza di tasti) utilizzata per invocare il completamento corrente
funzione.
COMP_LINE
La riga di comando corrente. Questa variabile è disponibile solo nelle funzioni di shell e
comandi esterni invocati dalle strutture di completamento programmabili (vedi
Programmabile Completamento sotto).
COMP_PUNTO
L'indice della posizione corrente del cursore rispetto all'inizio della corrente
comando. Se la posizione corrente del cursore è alla fine del comando corrente, il
il valore di questa variabile è uguale a ${#COMP_LINE}. Questa variabile è disponibile solo
nelle funzioni della shell e nei comandi esterni invocati dal completamento programmabile
strutture (vedi Programmabile Completamento sotto).
TIPO_COMP
Impostato su un valore intero corrispondente al tipo di completamento tentato che
ha causato la chiamata di una funzione di completamento: TAB, per il completamento normale, ?, Per
elencando i completamenti dopo le schede successive, !, per elencare le alternative su parziale
completamento delle parole, @, per elencare i completamenti se la parola non è stata modificata, oppure %, Per
completamento del menu. Questa variabile è disponibile solo nelle funzioni della shell e nell'esterno
comandi invocati dalle strutture di completamento programmabili (vedi Programmabile
Completamento sotto).
COMP_WORD BREAKS
L'insieme di caratteri che il readline la libreria tratta come separatori di parole quando
eseguire il completamento delle parole. Se COMP_WORD BREAKS non è impostato, perde il suo speciale
proprietà, anche se successivamente viene ripristinato.
PAROLE_COMP
Una variabile array (vedi Array sotto) costituito dalle singole parole in
riga di comando corrente. La linea è divisa in parole come readline lo dividerebbe,
utilizzando COMP_WORD BREAKS come descritto sopra. Questa variabile è disponibile solo in shell
funzioni invocate dalle strutture di completamento programmabili (vedi Programmabile
Completamento sotto).
COPROC Una variabile array (vedi Array sotto) creato per contenere i descrittori di file per
output da e input a un coprocesso senza nome (vedi coprocessi sopra).
DIRSTACK
Una variabile array (vedi Array sotto) contenente il contenuto corrente del
pila di directory. Le directory vengono visualizzate nello stack nell'ordine in cui vengono visualizzate
dal dirs incorporato L'assegnazione ai membri di questa variabile array può essere utilizzata per
modificare le directory già nello stack, ma il pushd ed popd i built-in devono essere
utilizzato per aggiungere e rimuovere directory. L'assegnazione a questa variabile non cambierà
la directory corrente. Se DIRSTACK non è regolato, perde le sue proprietà speciali, anche
se viene successivamente ripristinato.
ID UE Si espande all'ID utente effettivo dell'utente corrente, inizializzato all'avvio della shell.
Questa variabile è di sola lettura.
NOME FUNZIONALE
Una variabile di array contenente i nomi di tutte le funzioni di shell attualmente nel
stack di chiamate di esecuzione. L'elemento con indice 0 è il nome di qualsiasi
l'esecuzione della funzione di shell. L'elemento più in basso (quello con l'indice più alto)
è "principale". Questa variabile esiste solo quando è in esecuzione una funzione di shell.
incarichi a NOME FUNZIONALE non hanno effetto e restituiscono uno stato di errore. Se NOME FUNZIONALE is
disinserito, perde le sue proprietà speciali, anche se successivamente viene ripristinato.

Questa variabile può essere utilizzata con BASH_LINENO ed BASH_SOURCE. Ogni elemento di
NOME FUNZIONALE ha elementi corrispondenti in BASH_LINENO ed BASH_SOURCE per descrivere il
pila di chiamate. Ad esempio, ${NOMEFUNZIONE[$i]} è stato chiamato dal file
${BASH_SOURCE[$ i+1]} al numero di riga ${BASH_LINENO[$i]}. visitatore incorporato
visualizza lo stack di chiamate corrente utilizzando queste informazioni.
GRUPPI Una variabile array contenente l'elenco dei gruppi di cui l'utente corrente è un
membro. incarichi a GRUPPI non hanno effetto e restituiscono uno stato di errore. Se
GRUPPI è disinserito, perde le sue proprietà speciali, anche se viene successivamente reimpostato.
HISTCMD
Il numero della cronologia, o indice nell'elenco della cronologia, del comando corrente. Se
HISTCMD è disinserito, perde le sue proprietà speciali, anche se è successivamente
reset.
HOSTNAME
Impostato automaticamente sul nome dell'host corrente.
TIPO HOST
Impostato automaticamente su una stringa che descrive in modo univoco il tipo di macchina su cui
bash sta eseguendo. L'impostazione predefinita dipende dal sistema.
LINENO Ogni volta che si fa riferimento a questo parametro, la shell sostituisce un numero decimale
che rappresenta il numero di riga sequenziale corrente (che inizia con 1) all'interno di uno script
o funzione. Quando non è in uno script o in una funzione, il valore sostituito non è
garantito per essere significativo. Se LINENO non è regolato, perde le sue proprietà speciali,
anche se successivamente viene ripristinato.
TIPO MACCHINA
Impostato automaticamente su una stringa che descrive completamente il tipo di sistema su cui bash is
eseguendo, nello standard GNU sistema-azienda-cpu formato. L'impostazione predefinita è sistema-
dipendente.
FILE MAPPA
Una variabile array (vedi Array sotto) creato per contenere il testo letto dal mapfile
builtin quando non viene fornito alcun nome di variabile.
VECCHIO PWD La directory di lavoro precedente impostata da cd comando.
OPTARG Il valore dell'ultimo argomento dell'opzione elaborato dal getopts comando integrato (vedi
SHELL COSTRUZIONE COMANDI sotto).
OTTIMIZZA L'indice del prossimo argomento che deve essere elaborato dal getopts comando integrato (vedi
SHELL COSTRUZIONE COMANDI sotto).
OSTYPE Impostato automaticamente su una stringa che descrive il sistema operativo su cui bash is
esecuzione. L'impostazione predefinita dipende dal sistema.
STATO TUBO
Una variabile array (vedi Array sotto) contenente un elenco di valori dello stato di uscita da
i processi nella pipeline in primo piano eseguita più di recente (che può contenere
un solo comando).
PPID L'ID di processo del genitore della shell. Questa variabile è di sola lettura.
PWD La directory di lavoro corrente come impostata da cd comando.
CASUALE Ogni volta che si fa riferimento a questo parametro, un numero intero casuale compreso tra 0 e 32767 è
generato. La sequenza di numeri casuali può essere inizializzata assegnando un valore
a CASUALE. Se CASUALE non è regolato, perde le sue proprietà speciali, anche se lo è
successivamente resettato.
LEGGILINE_LINE
Il contenuto di readline buffer di riga, da usare con "bind -x" (vedi SHELL COSTRUZIONE
COMANDI sotto).
LEGGILINE_PUNTO
La posizione del punto di inserimento nel readline buffer di riga, da usare con "bind
-x" (vedi SHELL COSTRUZIONE COMANDI sotto).
REPLY Impostato sulla linea di input letta dal read comando integrato quando non ci sono argomenti
fornito.
SECONDI
Ogni volta che si fa riferimento a questo parametro, il numero di secondi trascorsi dalla shell
l'invocazione viene restituita. Se viene assegnato un valore a SECONDI, il valore restituito su
riferimenti successivi è il numero di secondi trascorsi dall'assegnazione più il valore
assegnato. Se SECONDI non è regolato, perde le sue proprietà speciali, anche se lo è
successivamente resettato.
CONCHIGLIE
Un elenco separato da due punti di opzioni di shell abilitate. Ogni parola nell'elenco è un valido
argomento per il -o opzione per il set comando integrato (vedi SHELL COSTRUZIONE COMANDI
qui di seguito). Le opzioni che appaiono in CONCHIGLIE sono quelli segnalati come on by set -o. Se
questa variabile è nell'ambiente quando bash si avvia, ogni opzione di shell nel
list sarà abilitato prima di leggere qualsiasi file di avvio. Questa variabile è di sola lettura.
SHLVL Incrementato di uno ogni volta che un'istanza di bash è avviato.
UID Si espande nell'ID utente dell'utente corrente, inizializzato all'avvio della shell. Questo
la variabile è di sola lettura.

Le seguenti variabili vengono utilizzate dalla shell. In alcuni casi, bash assegna un valore predefinito
valore a una variabile; questi casi sono riportati di seguito.

BASH_COMPAT
Il valore viene utilizzato per impostare il livello di compatibilità della shell. Vedi la descrizione di
, il negozio integrato sotto sotto SHELL COSTRUZIONE COMANDI per una descrizione del
vari livelli di compatibilità e i loro effetti. Il valore può essere un numero decimale
(es. 4.2) o un numero intero (es. 42) corrispondente alla compatibilità desiderata
livello. Se BASH_COMPAT non è impostato o impostato sulla stringa vuota, il livello di compatibilità
è impostato sul valore predefinito per la versione corrente. Se BASH_COMPAT è impostato su un valore
questo non è uno dei livelli di compatibilità validi, la shell stampa un errore
messaggio e imposta il livello di compatibilità sul valore predefinito per la versione corrente.
I livelli di compatibilità validi corrispondono alle opzioni di compatibilità accettate da
, il negozio integrato descritto di seguito (ad esempio, compat42 significa che 4.2 e 42 sono
valori validi). Anche la versione corrente è un valore valido.
BASH_ENV
Se questo parametro è impostato quando bash sta eseguendo uno script di shell, il suo valore è
interpretato come un nome di file contenente comandi per inizializzare la shell, come in
~ / .bashrc. Il valore di BASH_ENV è soggetto all'espansione dei parametri, comando
sostituzione ed espansione aritmetica prima di essere interpretato come un nome di file.
PERCORSO non viene utilizzato per cercare il nome del file risultante.
BASH_XTRACEF
Se impostato su un numero intero corrispondente a un descrittore di file valido, bash scriverà il
trace output generato quando set -x è abilitato per quel descrittore di file. Il file
il descrittore è chiuso quando BASH_XTRACEF non è impostato o viene assegnato un nuovo valore.
Disinserimento BASH_XTRACEF o assegnandogli la stringa vuota fa sì che l'output della traccia a
essere inviato all'errore standard. Nota che l'impostazione BASH_XTRACEF a 2 (lo standard
descrittore di file di errore) e quindi la sua disimpostazione risulterà nell'errore standard
essere chiuso.
CDPATH Il percorso di ricerca per il cd comando. Questo è un elenco di directory separate da due punti
in cui la shell cerca le directory di destinazione specificate dal cd comando.
Un valore di esempio è ".:~:/ usr".
BAMBINO_MAX
Imposta il numero di valori di stato figlio usciti che la shell deve ricordare. Bash lo farà
non consentire a questo valore di essere ridotto al di sotto di un minimo richiesto da POSIX e c'è un
valore massimo (attualmente 8192) che questo non può superare. Il valore minimo è
dipendente dal sistema.
COLONNE
Utilizzato dal select comando composto per determinare la larghezza del terminale durante la stampa
elenchi di selezione. Impostato automaticamente se il checkwinsize l'opzione è abilitata o in an
shell interattiva al ricevimento di a SIGWINCH.
COMPRI
Una variabile array da cui bash legge i possibili completamenti generati da a
funzione shell invocata dalla funzione di completamento programmabile (vedi Programmabile
Completamento qui di seguito). Ogni elemento dell'array contiene un possibile completamento.
EMACS If bash trova questa variabile nell'ambiente quando la shell inizia con valore
"t", presuppone che la shell sia in esecuzione in un buffer di shell Emacs e disabilita
modifica della riga.
ENV Simile a BASH_ENV; utilizzato quando la shell viene invocata in modalità POSIX.
FCEDIT L'editor predefinito per il fc comando incorporato.
FIGNO
Un elenco separato da due punti di suffissi da ignorare quando si esegue il completamento del nome file
(Vedi LINEA DI LETTURA qui di seguito). Un nome di file il cui suffisso corrisponde a una delle voci in
FIGNO è escluso dall'elenco dei nomi di file corrispondenti. Un valore di esempio è ".o:~"
(La citazione è necessaria quando si assegna un valore a questa variabile, che contiene tilde).
DIVERTENTE
Se impostato su un valore numerico maggiore di 0, definisce un livello massimo di annidamento della funzione.
Le chiamate di funzione che superano questo livello di annidamento causeranno il comando corrente
abortire.
GLOBIGNORE
Un elenco di pattern separati da due punti che definiscono l'insieme di nomi di file da ignorare
espansione del percorso. Se un nome file corrisponde anche a un modello di espansione del percorso
corrisponde a uno dei modelli in GLOBIGNORE, viene rimosso dall'elenco delle corrispondenze.
CONTROLLO STORICO
Un elenco di valori separato da due punti che controlla il modo in cui i comandi vengono salvati nella cronologia
elenco. Se l'elenco dei valori include ignoraspazio, righe che iniziano con a spazio
i caratteri non vengono salvati nell'elenco della cronologia. Un valore di ignorato cause linee
corrispondente alla voce della cronologia precedente da non salvare. Un valore di ignora entrambi is
scorciatoia per ignoraspazio ed ignorato. Un valore di cancellazioni causa tutti i precedenti
righe corrispondenti alla riga corrente da rimuovere dall'elenco della cronologia prima di quella
la linea viene salvata. Qualsiasi valore non nell'elenco precedente viene ignorato. Se CONTROLLO STORICO is
unset, o non include un valore valido, tutte le righe lette dal parser di shell sono
salvato nell'elenco della cronologia, soggetto al valore di ISTIGNORE. Il secondo e
le righe successive di un comando composto su più righe non vengono testate e vengono aggiunte a
la storia indipendentemente dal valore di CONTROLLO STORICO.
ARCHIVIO
Il nome del file in cui viene salvata la cronologia dei comandi (vedi STORIA sotto). Il
il valore predefinito è ~/.bash_history. Se non impostato, la cronologia dei comandi non viene salvata quando
esce una conchiglia.
DIMENSIONE HISTFILE
Il numero massimo di righe contenute nel file di cronologia. Quando questa variabile è
assegnato un valore, il file storico viene troncato, se necessario, per non contenerne altro
di quel numero di righe rimuovendo le voci più vecchie. Anche il file della cronologia è
troncato a questa dimensione dopo averlo scritto all'uscita di una shell. Se il valore è 0, il
il file di cronologia viene troncato a dimensione zero. Valori non numerici e valori numerici less
di zero inibisce il troncamento. La shell imposta il valore predefinito sul valore di
HISTSIZE dopo aver letto tutti i file di avvio.
ISTIGNORE
Un elenco di pattern separati da due punti utilizzati per decidere quali righe di comando dovrebbero essere
salvato nell'elenco della cronologia. Ogni modello è ancorato all'inizio della linea
e deve corrispondere alla riga completa (nessun ` . implicito*' è allegato). Ogni modello è
testato contro la linea dopo i controlli specificati da CONTROLLO STORICO sono applicate. In
oltre ai normali caratteri di corrispondenza del modello di shell, `&'corrisponde al precedente
linea di storia. `&' può essere sfuggito utilizzando una barra rovesciata; la barra rovesciata viene rimossa
prima di tentare una partita. La seconda e le successive righe di una multiriga
comando composto non vengono testati e vengono aggiunti alla cronologia indipendentemente dal
valore di ISTIGNORE.
HISTSIZE
Il numero di comandi da ricordare nella cronologia dei comandi (vedi STORIA qui di seguito). Se
il valore è 0, i comandi non vengono salvati nell'elenco della cronologia. Valori numerici meno
di zero risulta in ogni comando salvato nell'elenco della cronologia (non c'è
limite). La shell imposta il valore predefinito su 500 dopo aver letto qualsiasi file di avvio.
FORMATO ORA HIST
Se questa variabile è impostata e non è nulla, il suo valore viene utilizzato come stringa di formato per
strftime(3) per stampare il timestamp associato a ciascuna voce della cronologia visualizzata da
, il storia incorporato Se questa variabile è impostata, i timestamp vengono scritti su
cronologia in modo che possano essere conservati tra le sessioni della shell. Questo usa la storia
carattere di commento per distinguere i timestamp dalle altre righe della cronologia.
HOMEPAGE La directory home dell'utente corrente; l'argomento predefinito per il cd incorporato
comando. Il valore di questa variabile viene utilizzato anche quando si esegue l'espansione della tilde.
FILE HOST
Contiene il nome di un file nello stesso formato di / Etc / hosts che dovrebbe essere letto
quando la shell deve completare un nome host. L'elenco dei possibili hostname
i completamenti possono essere modificati mentre la shell è in esecuzione; la prossima volta hostname
viene tentato il completamento dopo la modifica del valore, bash aggiunge il contenuto del
nuovo file nell'elenco esistente. Se FILE HOST è impostato, ma non ha valore o non lo fa
nominare un file leggibile, bash tenta di leggere / Etc / hosts per ottenere l'elenco di
possibili completamenti del nome host. quando FILE HOST non è impostato, l'elenco dei nomi host è
eliminato.
IFS I Interno Settore Separatore che viene utilizzato per la suddivisione in parole dopo l'espansione e per
dividere le righe in parole con read comando incorporato. Il valore predefinito è
`` ''.
IGNORANTE
Controlla l'azione di una shell interattiva alla ricezione di un EOF personaggio come
unico ingresso. Se impostato, il valore è il numero di consecutivi EOF personaggi che
deve essere digitato come i primi caratteri su una riga di input prima bash esce. Se la
la variabile esiste ma non ha un valore numerico o non ha alcun valore, l'impostazione predefinita
il valore è 10. Se non esiste, EOF indica la fine dell'input alla shell.
INGRESSORC
Il nome del file per readline file di avvio, sovrascrivendo il valore predefinito di ~ / .inputrc
(Vedi LINEA DI LETTURA sotto).
LUNGO Utilizzato per determinare la categoria locale per qualsiasi categoria non specificatamente selezionata
con una variabile che inizia con LC_.
LC_TUTTI Questa variabile sovrascrive il valore di LUNGO e qualsiasi altro LC_ variabile che specifica a
categoria locale.
LC_COLLATE
Questa variabile determina l'ordine di confronto utilizzato durante l'ordinamento dei risultati di
espansione del nome del percorso e determina il comportamento delle espressioni di intervallo, l'equivalenza
classi e fascicolazione di sequenze all'interno dell'espansione del nome del percorso e del pattern matching.
LC_CTYPE
Questa variabile determina l'interpretazione dei caratteri e il comportamento di
classi di caratteri all'interno dell'espansione del nome del percorso e della corrispondenza del modello.
LC_MESSAGGI
Questa variabile determina la localizzazione usata per tradurre le stringhe tra virgolette
preceduto da a $.
LC_NUMERICO
Questa variabile determina la categoria delle impostazioni internazionali utilizzata per la formattazione dei numeri.
LINEE Utilizzato dal select comando composto per determinare la lunghezza della colonna per la stampa
elenchi di selezione. Impostato automaticamente se il checkwinsize l'opzione è abilitata o in an
shell interattiva al ricevimento di a SIGWINCH.
MAIL Se questo parametro è impostato su un nome di file o directory e il PERCORSO POSTALE la variabile è
non impostato, bash informa l'utente dell'arrivo della posta nel file specificato o
Directory in formato maildir.
CONTROLLO POSTA
Specifica la frequenza (in secondi) bash controlla la posta. L'impostazione predefinita è 60 secondi.
Quando è il momento di controllare la posta, la shell lo fa prima di visualizzare il primario
richiesta. Se questa variabile non è impostata o impostata su un valore che non è un numero maggiore
maggiore o uguale a zero, la shell disabilita il controllo della posta.
PERCORSO POSTALE
Un elenco di nomi di file separati da due punti da controllare per la posta. Il messaggio per essere
stampato quando arriva la posta in un particolare file può essere specificato separando il
nome file dal messaggio con un `?'. Se utilizzato nel testo del messaggio, $_
si espande al nome del file di posta corrente. Esempio:
PERCORSO POSTALE='/var/mail/bfox?"Hai posta":~/shell-mail?"$_ ha posta!"'
Bash fornisce un valore predefinito per questa variabile, ma la posizione della posta dell'utente
i file che utilizza dipendono dal sistema (ad es. /var/posta/$ USER).
OPTERRA Se impostato al valore 1, bash visualizza i messaggi di errore generati dal getopts
comando integrato (vedi SHELL COSTRUZIONE COMANDI sotto). OPTERRA è inizializzato a 1
ogni volta che viene invocata la shell o viene eseguito uno script di shell.
PERCORSO Il percorso di ricerca per i comandi. È un elenco di directory separate da due punti in cui
la shell cerca i comandi (vedi COMANDO ESECUZIONE qui di seguito). A lunghezza zero (nullo)
nome della directory nel valore di PERCORSO indica la directory corrente. un nulla
il nome della directory può apparire come due due punti adiacenti o come iniziale o finale
colon. Il percorso predefinito dipende dal sistema ed è impostato dall'amministratore che
installazioni bash. Un valore comune è ``/ Usr / local / bin:/ usr / local / sbin:/ Usr / bin:
/ usr / sbin:/bidone:/ sbin''.
POSIXLY_CORRETTO
Se questa variabile è nell'ambiente quando bash inizia, la shell entra posix
modo prima di leggere i file di avvio, come se --posix l'opzione di invocazione era stata
fornito. Se è impostato mentre la shell è in esecuzione, bash Abilita posix modo, come se
il comando set -o posix era stato giustiziato.
PROMPT_COMANDO
Se impostato, il valore viene eseguito come comando prima di emettere ogni prompt primario.
PROMPT_DIRTRIM
Se impostato su un numero maggiore di zero, il valore viene utilizzato come numero di trascinamento
componenti della directory da conservare durante l'espansione del \w ed \W prompt di escape della stringa
(Vedi SUGGERIMENTO qui di seguito). I caratteri rimossi vengono sostituiti con i puntini di sospensione.
PS1 Il valore di questo parametro viene espanso (vedi SUGGERIMENTO sotto) e usato come
stringa di prompt primaria. Il valore predefinito è ``\s-\v\$ ''.
PS2 Il valore di questo parametro viene espanso come con PS1 e usato come secondario
stringa di richiesta. Il valore predefinito è ``> ''.
PS3 Il valore di questo parametro viene utilizzato come prompt per il select comando (vedi SHELL
GRAMMATICA sopra).
PS4 Il valore di questo parametro viene espanso come con PS1 e il valore viene stampato prima
ogni comando bash viene visualizzato durante una traccia di esecuzione. Il primo personaggio di PS4
viene replicato più volte, se necessario, per indicare più livelli di
indiretto. Il valore predefinito è ``+ ''.
SHELL Il percorso completo della shell è mantenuto in questa variabile d'ambiente. Se non è
impostato all'avvio della shell, bash gli assegna il percorso completo della corrente
shell di login dell'utente.
FORMATO ORARIO
Il valore di questo parametro viene utilizzato come stringa di formato specificando come il timing
informazioni per le condutture precedute da tempo deve essere visualizzata la parola riservata.
I % carattere introduce una sequenza di escape che viene espansa a un valore temporale o
altre informazioni. Le sequenze di escape ei loro significati sono i seguenti; il
le parentesi graffe indicano porzioni facoltative.
%% un letterale %.
%[p][l]R Il tempo trascorso in secondi.
%[p][l]U Il numero di secondi della CPU trascorsi in modalità utente.
%[p][l]S Il numero di secondi della CPU trascorsi in modalità di sistema.
%P La percentuale della CPU, calcolata come (%U + %S) / %R.

Facoltativo p è una cifra che specifica il precisione, il numero di cifre frazionarie
dopo un punto decimale. Un valore di 0 non fa sì che nessun punto decimale o frazione sia
produzione. Possono essere specificate al massimo tre posizioni dopo la virgola; valori di p
maggiore di 3 viene modificato in 3. Se p non è specificato, viene utilizzato il valore 3.

Facoltativo l specifica un formato più lungo, inclusi i minuti, del modulo MMmSS.FFs.
Il valore di p determina se la frazione è inclusa o meno.

Se questa variabile non è impostata, bash si comporta come se avesse il valore
$'\nreal\t%3lR\user\t%3lU\nsys\t%3lS'. Se il valore è nullo, nessuna tempistica
vengono visualizzate le informazioni. Viene aggiunta una nuova riga finale quando la stringa di formato è
visualizzato.
TMOUT Se impostato su un valore maggiore di zero, TMOUT viene trattato come il timeout predefinito per
, il read incorporato Il select il comando termina se l'input non arriva dopo
TMOUT secondi quando l'input proviene da un terminale. In una shell interattiva, il
il valore viene interpretato come il numero di secondi di attesa per una riga di input dopo
emettere il prompt primario. Bash termina dopo aver atteso quel numero di
secondi se non arriva una riga completa di input.
TMPDIR Se impostato, bash usa il suo valore come nome di una directory in cui bash crea
file temporanei per l'uso della shell.
ripristino_automatico
Questa variabile controlla come la shell interagisce con l'utente e il controllo del lavoro. Se
questa variabile è impostata, vengono trattati comandi semplici di una sola parola senza reindirizzamenti
come candidati alla ripresa di un lavoro interrotto esistente. Non c'è ambiguità
consentito; se c'è più di un lavoro che inizia con la stringa digitata, il lavoro
selezionato l'ultimo accesso. Il Nome di un lavoro interrotto, in questo contesto, è
la riga di comando utilizzata per avviarlo. Se impostato sul valore esattamente, la stringa fornita
deve corrispondere esattamente al nome di un lavoro interrotto; se impostato su sottostringa, la stringa
fornito deve corrispondere a una sottostringa del nome di un lavoro interrotto. Il sottostringa
value fornisce funzionalità analoghe a %? identificatore di lavoro (vedi JOB CONTROLLO
qui di seguito). Se impostato su qualsiasi altro valore, la stringa fornita deve essere un prefisso di a
nome del lavoro interrotto; questo fornisce funzionalità analoghe al %stringa lavoro
identificatore.
Histchar
I due o tre caratteri che controllano l'espansione e la tokenizzazione della cronologia (vedi
STORIA ESPANSIONE qui di seguito). Il primo carattere è il storia espansione personaggio,
il carattere che segnala l'inizio di un'espansione della storia, normalmente `!'. Il
il secondo carattere è il veloce sostituzione carattere, che è usato come scorciatoia
per rieseguire il comando precedente inserito, sostituendo una stringa con un'altra in
il comando. L'impostazione predefinita è `^'. Il terzo carattere opzionale è il carattere
che indica che il resto della riga è un commento quando viene trovato come primo
carattere di una parola, normalmente `#'. Il carattere del commento della cronologia causa la cronologia
sostituzione da saltare per le parole rimanenti sulla riga. Non è così
necessariamente far sì che il parser della shell tratti il ​​resto della riga come un commento.

Array
Bash fornisce variabili array indicizzate e associative unidimensionali. Qualsiasi variabile può
essere usato come un array indicizzato; il dichiarare builtin dichiarerà esplicitamente un array. Là
non c'è limite massimo alla dimensione di un array, né alcun requisito che i membri siano indicizzati
o assegnati in modo contiguo. Gli array indicizzati sono referenziati usando numeri interi (incluso
espressioni aritmetiche) e sono in base zero; gli array associativi sono referenziati usando
stringhe arbitrarie. Se non diversamente specificato, gli indici di array indicizzati devono essere non negativi
interi.

Un array indicizzato viene creato automaticamente se viene assegnata una variabile utilizzando la sintassi
Nome[pedice]=APPREZZIAMO. pedice è trattata come un'espressione aritmetica che deve
valutare un numero. Per dichiarare esplicitamente un array indicizzato, usa dichiarare -a Nome (Vedi
SHELL COSTRUZIONE COMANDI sotto). dichiarare -a Nome[pedice] è anche accettato; il pedice
viene ignorato.

Gli array associativi vengono creati usando dichiarare -A Nome.

Gli attributi possono essere specificati per una variabile array usando il dichiarare ed in sola lettura incorporati.
Ogni attributo si applica a tutti i membri di un array.

Gli array sono assegnati all'uso di assegnazioni composte del modulo Nome=(APPREZZIAMO1 ... valoren),
dove ciascuno APPREZZIAMO è della forma [pedice]=stringa. Le assegnazioni di array indicizzati non lo fanno
richiedono tutto tranne stringa. Quando si assegna a array indicizzati, se le parentesi facoltative
e subscript sono forniti, a cui è assegnato quell'indice; altrimenti l'indice dell'elemento
assegnato è l'ultimo indice assegnato dall'istruzione più uno. L'indicizzazione inizia da
zero.

Quando si assegna a un array associativo, il pedice è obbligatorio.

Questa sintassi è accettata anche da dichiarare incorporato I singoli elementi dell'array possono essere
assegnato all'uso del Nome[pedice]=APPREZZIAMO sintassi introdotta sopra. Quando si assegna a un
array indicizzato, se Nome è segnato da un numero negativo, quel numero è interpretato come
relativo a uno maggiore dell'indice massimo di Nome, quindi gli indici negativi contano a ritroso
dalla fine dell'array e un indice di -1 fa riferimento all'ultimo elemento.

È possibile fare riferimento a qualsiasi elemento di un array utilizzando ${Nome[pedice]}. Le parentesi graffe sono
necessario per evitare conflitti con l'espansione del percorso. Se pedice is @ or *, la parola
si estende a tutti i membri di Nome. Questi pedici differiscono solo quando la parola appare all'interno
virgolette. Se la parola è tra virgolette, ${Nome[*]} si espande in una singola parola con il
valore di ogni membro dell'array separato dal primo carattere del IFS variabile speciale,
e ${Nome[@]} espande ogni elemento di Nome a una parola separata. Quando non ci sono array
membri, ${Nome[@]} si espande a nulla. Se l'espansione tra virgolette avviene entro a
parola, l'espansione del primo parametro è unita alla parte iniziale del
parola originale, e l'espansione dell'ultimo parametro è unita all'ultima parte del
parola originale. Questo è analogo all'espansione dei parametri speciali * ed @ (Vedi
Special parametri sopra). ${#Nome[pedice]} si espande alla lunghezza di
${Nome[pedice]}. Se pedice is * or @, l'espansione è il numero di elementi in
la matrice. Fare riferimento a una variabile di array senza un pedice equivale a fare riferimento
l'array con pedice 0. Se il pedice usato per fare riferimento a un elemento di an
l'array indicizzato restituisce un numero inferiore a zero, viene interpretato come relativo a uno
maggiore dell'indice massimo dell'array, quindi gli indici negativi contano a ritroso dalla fine
dell'array e un indice di -1 fa riferimento all'ultimo elemento.

Una variabile array è considerata impostata se a un pedice è stato assegnato un valore. il nulla
stringa è un valore valido.

È possibile ottenere le chiavi (indici) di un array oltre ai valori.
${!Nome[@]} e ${!Nome[*]} espandi agli indici assegnati nella variabile array Nome.
il trattamento quando tra virgolette è simile all'espansione dei parametri speciali @
ed * tra virgolette doppie.

I non settato builtin è usato per distruggere gli array. non settato Nome[pedice] distrugge l'array
elemento all'indice pedice. I pedici negativi degli array indicizzati sono interpretati come
descritto sopra. Bisogna fare attenzione per evitare effetti collaterali indesiderati causati dal percorso
espansione. non settato Nome, Dove Nome è un array, o non settato Nome[pedice], dove pedice
is * or @, rimuove l'intero array.

I dichiarare, localee in sola lettura i builtin accettano ciascuno a -a opzione per specificare un indicizzato
array e a -A opzione per specificare un array associativo. Se vengono fornite entrambe le opzioni, -A
ha la precedenza. Il read builtin accetta a -a opzione per assegnare un elenco di parole lette
dallo standard input a un array. Il set ed dichiarare i builtin visualizzano i valori dell'array in
un modo che consenta loro di essere riutilizzati come incarichi.

ESPANSIONE


L'espansione viene eseguita sulla riga di comando dopo che è stata suddivisa in parole. Ci sono
sette tipi di espansione eseguiti: bretelle espansione, tilde espansione, parametro ed
variabile espansione, command sostituzione, aritmetica espansione, parola scissionee
pathname espansione.

L'ordine delle espansioni è: espansione delle parentesi graffe; espansione tilde, parametro e variabile
espansione, espansione aritmetica e sostituzione di comando (eseguita da sinistra a destra
la moda); scissione di parole; e l'espansione del percorso.

Sui sistemi che possono supportarlo, è disponibile un'ulteriore espansione: processi
sostituzione. Questo viene eseguito contemporaneamente a tilde, parametro, variabile e
espansione aritmetica e sostituzione di comando.

Solo l'espansione delle parentesi graffe, la suddivisione in parole e l'espansione del percorso possono modificare il numero di
parole dell'espansione; altre espansioni espandono una singola parola in una singola parola. Il solo
eccezioni a questo sono le espansioni di "$@" e "${Nome[@]}" come spiegato sopra (vedi
PARAMETRI).

Bretelle Espansione
Bretelle espansione è un meccanismo mediante il quale possono essere generate stringhe arbitrarie. Questo
il meccanismo è simile a pathname espansione, ma non è necessario che i nomi dei file generati esistano.
I modelli da espandere prendono la forma di un optional preambolo, seguito da a
serie di stringhe separate da virgole o un'espressione di sequenza tra una coppia di parentesi graffe,
seguito da un facoltativo poscritto. Il preambolo è preceduto da ogni stringa contenuta
all'interno delle parentesi graffe, e il poscritto viene quindi aggiunto a ciascuna stringa risultante, espandendosi
da sinistra a destra.

Le espansioni di parentesi graffe possono essere nidificate. I risultati di ogni stringa espansa non vengono ordinati; sinistra
al giusto ordine è preservato. Ad esempio, a{d,c,b}e si espande in "ade ace abe".

Un'espressione di sequenza assume la forma {x..y[..aumento]}, Dove x ed y sono numeri interi o
singoli caratteri, e aumento, un incremento facoltativo, è un numero intero. Quando gli interi sono
fornito, l'espressione si espande a ciascun numero compreso tra x ed y, compreso. Fornito
i numeri interi possono essere preceduti da 0 per forzare ogni termine ad avere la stessa larghezza. Quando sia x
or y inizia con uno zero, la shell tenta di forzare tutti i termini generati a contenere il
stesso numero di cifre, zeri dove necessario. Quando vengono forniti i caratteri, il
l'espressione si espande a ciascun carattere lessicograficamente tra x ed y, inclusivo, usando
la locale C predefinita. Nota che entrambi x ed y devono essere dello stesso tipo. Quando il
viene fornito l'incremento, viene utilizzato come differenza tra ciascun termine. Il predefinito
l'incremento è 1 o -1 a seconda dei casi.

L'espansione del tutore viene eseguita prima di qualsiasi altra espansione e di qualsiasi personaggio speciale per
altre espansioni sono conservate nel risultato. È rigorosamente testuale. Bash non
applicare qualsiasi interpretazione sintattica al contesto dell'espansione o del testo tra i
parentesi graffe.

Un'espansione di parentesi graffa correttamente formata deve contenere parentesi graffe di apertura e chiusura non quotate e
almeno una virgola senza virgolette o un'espressione di sequenza valida. Qualsiasi tutore formato in modo errato
l'espansione rimane invariata. UN { or , può essere citato con una barra rovesciata per impedirne l'esistenza
considerata parte di un'espressione parentesi graffa. Per evitare conflitti con l'espansione dei parametri, il
stringa ${ non è considerato idoneo per l'espansione del corsetto.

Questo costrutto è tipicamente usato come scorciatoia quando il prefisso comune delle stringhe da essere
generato è più lungo rispetto all'esempio precedente:

mkdir /usr/local/src/bash/{vecchio,nuovo,dist,bug}
or
radice di chown / usr /{ucb/{ex,modifica},lib/{ex?.?*,how_ex}}

L'espansione Brace introduce una leggera incompatibilità con le versioni storiche di sh. sh
non tratta le parentesi graffe di apertura o chiusura specialmente quando appaiono come parte di una parola, e
li conserva nell'output. Bash rimuove le parentesi graffe dalle parole come conseguenza della parentesi graffa
espansione. Ad esempio, una parola inserita in sh as cartella{1,2} appare in modo identico in
produzione. La stessa parola viene emessa come file1 file2 dopo l'espansione di bash. Se rigoroso
compatibilità con sh è desiderato, inizia bash con la +B opzione o disabilitare l'espansione delle parentesi graffe
con la +B opzione per il set comando (vedi SHELL COSTRUZIONE COMANDI sotto).

tilde Espansione
Se una parola inizia con un carattere tilde senza virgolette (`~'), tutti i caratteri che precedono
viene considerata la prima barra senza virgolette (o tutti i caratteri, se non ci sono barre senza virgolette)
a tilde-prefisso. Se nessuno dei caratteri nel prefisso tilde è citato, i caratteri
nel prefisso tilde che segue la tilde sono trattati come possibili accesso Nome. Se questo
nome di accesso è la stringa nulla, la tilde viene sostituita con il valore del parametro shell
HOMEPAGE. Se HOMEPAGE non è impostato, viene sostituita la directory home dell'utente che esegue la shell
invece. Altrimenti, il prefisso tilde viene sostituito con la directory home associata a
il nome di accesso specificato.

Se il prefisso tilde è un `~+', il valore della variabile shell PWD sostituisce la tilde-
prefisso. Se il prefisso tilde è un `~-', il valore della variabile shell VECCHIO PWD, se è
impostato, viene sostituito. Se i caratteri che seguono la tilde nel prefisso tilde sono costituiti da
un numero N, facoltativamente preceduto da un `+' o da un `-', il prefisso della tilde è sostituito dal
elemento corrispondente dallo stack di directory, come verrebbe visualizzato da dirs
builtin invocato con il prefisso tilde come argomento. Se i caratteri che seguono
tilde nel prefisso tilde consiste in un numero senza un `+' o un `-' iniziale, `+' è
presunto.

Se il nome di accesso non è valido o l'espansione della tilde fallisce, la parola rimane invariata.

Ogni assegnazione di variabile viene controllata per i prefissi tilde non quotati immediatamente dopo a :
o il primo =. In questi casi viene eseguita anche l'espansione della tilde. Di conseguenza, si può
usa nomi di file con tilde nelle assegnazioni a PERCORSO, PERCORSO POSTALEe CDPATH, e il guscio
assegna il valore espanso.

Parametro Espansione
Il `$' il carattere introduce l'espansione dei parametri, la sostituzione dei comandi o l'aritmetica
espansione. Il nome del parametro o il simbolo da espandere può essere racchiuso tra parentesi graffe, che
sono opzionali ma servono a proteggere la variabile da espandere immediatamente dai caratteri
successivo che potrebbe essere interpretato come parte del nome.

Quando vengono utilizzate le parentesi graffe, la parentesi graffa finale corrispondente è la prima `}'non sfuggito da a
barra rovesciata o all'interno di una stringa tra virgolette e non all'interno di un'espansione aritmetica incorporata,
sostituzione di comando o espansione di parametro.

${parametro}
Il valore di parametro viene sostituito. Le parentesi graffe sono necessarie quando parametro è un
parametro posizionale con più di una cifra, o quando parametro è seguito da a
carattere che non deve essere interpretato come parte del suo nome. Il parametro è un
parametro shell come descritto sopra PARAMETRI) o un riferimento di matrice (Array).

Se il primo carattere di parametro è un punto esclamativo (!), introduce un livello di
indiretto variabile. Bash usa il valore della variabile formata dal resto di
parametro come nome della variabile; questa variabile viene quindi espansa e quel valore è
utilizzato nel resto della sostituzione, piuttosto che il valore di parametro si. Questo è
conosciuto come indiretto espansione. Le eccezioni a questo sono le espansioni di ${!prefisso*} e
${!Nome[@]} descritto sotto. Il punto esclamativo deve seguire immediatamente la parentesi graffa sinistra
per introdurre l'indiretto.

In ciascuno dei casi seguenti, parola è soggetto all'espansione della tilde, all'espansione dei parametri,
sostituzione di comando ed espansione aritmetica.

Quando non si esegue l'espansione della sottostringa, utilizzando i moduli documentati di seguito (ad es. :-), bash
verifica un parametro non impostato o nullo. L'omissione dei due punti risulta solo in un test
per un parametro non impostato.

${parametro:-parola}
Usa il Predefinito Valori. Se parametro è non impostato o nullo, l'espansione di parola is
sostituito. In caso contrario, il valore di parametro è sostituito.
${parametro:=parola}
Assegna Predefinito Valori. Se parametro è non impostato o nullo, l'espansione di parola is
assegnato a parametro. Il valore di parametro viene quindi sostituito. posizionale
parametri e parametri speciali non possono essere assegnati in questo modo.
${parametro:?parola}
Dsiplay Errore if Nullo or unset. Se parametro è nullo o non impostato, l'espansione di
parola (o un messaggio in tal senso se parola non è presente) è scritto su
errore standard e la shell, se non è interattiva, esce. In caso contrario, il
valore di parametro è sostituito.
${parametro:+parola}
Usa il Alternato Valore. Se parametro è nullo o non impostato, nulla viene sostituito,
altrimenti l'espansione di parola è sostituito.
${parametro:offset}
${parametro:offset:lunghezza}
Sottostringa Espansione. Si espande fino a lunghezza caratteri del valore di parametro
a partire dal carattere specificato da offset. Se parametro is @, un array indicizzato
sottoscritto da @ or *, o un nome di array associativo, i risultati differiscono come
descritto sotto. Se lunghezza viene omesso, si espande nella sottostringa del valore di
parametro a partire dal carattere specificato da offset e si estende fino alla fine di
il valore. lunghezza ed offset sono espressioni aritmetiche (vedi ARITMETICA VALUTAZIONE
sotto).

If offset restituisce un numero minore di zero, il valore viene utilizzato come offset in
caratteri dalla fine del valore di parametro. Se lunghezza valuta un numero
minore di zero, viene interpretato come un offset in caratteri dalla fine del
valore di parametro piuttosto che un numero di caratteri, e l'espansione è il
caratteri tra offset e quel risultato. Nota che un offset negativo deve essere
separato dai due punti da almeno uno spazio per evitare di essere confuso con il :-
espansione.

If parametro is @, il risultato è lunghezza parametri posizionali a partire da offset.
Un negativo offset è preso rispetto a uno maggiore del massimo posizionale
parametro, quindi un offset di -1 restituisce l'ultimo parametro posizionale. È un
errore di espansione se lunghezza restituisce un numero minore di zero.

If parametro è un nome di array indicizzato con pedice @ o *, il risultato è il
lunghezza membri dell'array che iniziano con ${parametro[offset]}. Un negativo offset
viene preso in relazione a uno maggiore dell'indice massimo dell'array specificato. Esso
è un errore di espansione se lunghezza restituisce un numero minore di zero.

L'espansione della sottostringa applicata a un array associativo produce risultati indefiniti.

L'indicizzazione della sottostringa è in base zero a meno che non vengano utilizzati i parametri posizionali, in
nel qual caso l'indicizzazione inizia da 1 per impostazione predefinita. Se offset è 0, e il posizionale
vengono utilizzati i parametri, $0 è preceduto dall'elenco.

${!prefisso*}
${!prefisso@}
nomi corrispondenza prefisso. Si espande ai nomi delle variabili i cui nomi iniziano con
prefisso, separati dal primo carattere di IFS variabile speciale. quando @ is
utilizzato e l'espansione viene visualizzata tra virgolette, ogni nome di variabile si espande in
una parola separata.

${!Nome[@]}
${!Nome[*]}
Lista of schieramento Tasti. Se Nome è una variabile array, si espande nell'elenco di array
indici (tasti) assegnati in Nome. Se Nome non è un array, si espande a 0 se Nome is
set e null altrimenti. quando @ viene utilizzato e l'espansione appare all'interno di double
virgolette, ogni chiave si espande in una parola separata.

${#parametro}
Parametro lunghezza. La lunghezza in caratteri del valore di parametro is
sostituito. Se parametro is * or @, il valore sostituito è il numero di
parametri posizionali. Se parametro è un nome di array con pedice * or @, le
valore sostituito è il numero di elementi nell'array. Se parametro offre
nome dell'array indicizzato con pedice da un numero negativo, quel numero viene interpretato come
relativo a uno maggiore dell'indice massimo di parametro, quindi indici negativi
contare a ritroso dalla fine dell'array e un indice di -1 fa riferimento all'ultimo
elemento.

${parametro#parola}
${parametro##parola}
Rimuovere corrispondenza prefisso modello. parola viene espanso per produrre un pattern proprio come
nell'espansione del percorso. Se il modello corrisponde all'inizio del valore di
parametro, allora il risultato dell'espansione è il valore espanso di parametro con
il modello di corrispondenza più breve (il ``#caso '') o il modello di corrispondenza più lungo (il
``##'' caso) eliminato. Se parametro is @ or *, l'operazione di rimozione del motivo è
applicato a turno a ciascun parametro posizionale e l'espansione è la risultante
elenco. Se parametro è una variabile array iscritta con @ or *, Il modello
l'operazione di rimozione viene applicata a turno a ciascun membro dell'array e l'espansione
è l'elenco risultante.

${parametro%parola}
${parametro%%parola}
Rimuovere corrispondenza suffisso modello. parola viene espanso per produrre un pattern proprio come
nell'espansione del percorso. Se il modello corrisponde a una parte finale dell'espansione
valore di parametro, allora il risultato dell'espansione è il valore espanso di
parametro con il modello di corrispondenza più breve (il ``%'' caso) o il più lungo
modello corrispondente (il ``%%'' caso) eliminato. Se parametro is @ or *, Il modello
l'operazione di rimozione viene applicata a turno a ciascun parametro posizionale e il
espansione è l'elenco risultante. Se parametro è una variabile di array con pedice
con @ or *, l'operazione di rimozione del modello viene applicata a ciascun membro dell'array
a sua volta, e l'espansione è l'elenco risultante.

${parametro/modello/stringa}
Cartamodello sostituzione. modello viene espanso per produrre un pattern proprio come in
espansione del percorso. Parametro è espanso e la partita più lunga di modello contro
il suo valore viene sostituito con stringa. Se modello inizia con /, tutte le partite di
modello sono sostituiti con stringa. Normalmente viene sostituita solo la prima corrispondenza. Se
modello inizia con #, deve corrispondere all'inizio del valore espanso di
parametro. Se modello inizia con %, deve corrispondere alla fine dell'espansione
valore di parametro. Se stringa è nullo, corrisponde a modello vengono cancellati e il /
i seguenti modello può essere omesso. Se parametro is @ or *, la sostituzione
l'operazione viene applicata a turno a ciascun parametro posizionale e l'espansione è la
lista risultante. Se parametro è una variabile array iscritta con @ or *, le
l'operazione di sostituzione viene applicata a turno a ciascun membro dell'array e
espansione è l'elenco risultante.

${parametro^modello}
${parametro^^modello}
${parametro,modello}
${parametro,,modello}
Caso quale modifica. Questa espansione modifica il caso dei caratteri alfabetici in
parametro. modello viene espanso per produrre un pattern proprio come in pathname
espansione. Ogni carattere nel valore espanso di parametro è testato contro
modelloe, se corrisponde al modello, il suo caso viene convertito. Il modello dovrebbe
non tentare di far corrispondere più di un carattere. Il ^ operatore converte minuscolo
lettere corrispondenti modello in maiuscolo; il , l'operatore converte le lettere maiuscole corrispondenti
lettere in minuscolo. Il ^^ ed ,, le espansioni convertono ogni carattere abbinato in
il valore espanso; il ^ ed , le espansioni corrispondono e convertono solo la prima
carattere nel valore espanso. Se modello viene omesso, viene trattato come un ?,
che corrisponde ad ogni carattere. Se parametro is @ or *, la modifica del caso
l'operazione viene applicata a turno a ciascun parametro posizionale e l'espansione è la
lista risultante. Se parametro è una variabile array iscritta con @ or *, le
l'operazione di modifica del caso viene applicata a turno a ciascun membro dell'array e
espansione è l'elenco risultante.

Comando Sostituzione
Comando sostituzione consente all'output di un comando di sostituire il nome del comando. Là
sono due forme:

$(command)
or
`command`

Bash esegue l'espansione eseguendo command e sostituendo la sostituzione del comando
con l'output standard del comando, con tutte le nuove righe cancellate. Incorporato
le nuove righe non vengono eliminate, ma possono essere rimosse durante la suddivisione in parole. Il comando
sostituzione $(cat filetto) può essere sostituito dall'equivalente ma più veloce $( filetto).

Quando viene utilizzata la forma di sostituzione con apice inverso vecchio stile, la barra rovesciata mantiene il suo letterale
significato tranne quando seguito da $, `, o \. La prima apice non preceduta da a
la barra rovesciata termina la sostituzione del comando. Quando si utilizza $(command) forma, tutto
i caratteri tra parentesi costituiscono il comando; nessuno è trattato in modo speciale.

Le sostituzioni di comando possono essere nidificate. Per nidificare quando si utilizza il modulo tra virgolette, sfuggire al
virgolette interne con barre rovesciate.

Se la sostituzione appare tra virgolette, suddivisione in parole ed espansione del percorso
non vengono eseguiti sui risultati.

Aritmetica Espansione
L'espansione aritmetica consente la valutazione di un'espressione aritmetica e la
sostituzione del risultato. Il formato per l'espansione aritmetica è:

$((espressione))

Il vecchio formato $[espressione] è deprecato e verrà rimosso nelle prossime versioni di
bash.

I espressione viene trattato come se fosse tra virgolette, ma una doppia virgoletta all'interno
le parentesi non sono trattate in modo speciale. Tutti i token nell'espressione subiscono il parametro
e l'espansione delle variabili, la sostituzione dei comandi e la rimozione delle virgolette. Il risultato è trattato come
l'espressione aritmetica da valutare. Le espansioni aritmetiche possono essere annidate.

La valutazione viene eseguita secondo le regole elencate di seguito sotto ARITMETICA
VALUTAZIONE. Se espressione è invalido, bash stampa un messaggio indicante guasto e no
avviene la sostituzione.

Processo Sostituzione
Processo sostituzione è supportato su sistemi che supportano named pipe (FIFO) O l'
/dev/fd metodo di denominazione dei file aperti. Prende la forma di <(stratagemma) or >(stratagemma).
processi stratagemma viene eseguito con il suo ingresso o uscita collegato a a FIFO o qualche file in /dev/fd.
Il nome di questo file viene passato come argomento al comando corrente come risultato del
espansione. Se la >(stratagemma) viene utilizzato il form, la scrittura nel file fornirà l'input per stratagemma.
Se l' <(stratagemma) viene utilizzato il form, il file passato come argomento deve essere letto per ottenere il
uscita di stratagemma.

Quando disponibile, la sostituzione del processo viene eseguita contemporaneamente al parametro e
espansione variabile, sostituzione di comando ed espansione aritmetica.

Word Scissione
La shell esegue la scansione dei risultati dell'espansione dei parametri, della sostituzione dei comandi e dell'aritmetica
espansione che non si è verificata tra virgolette per parola scissione.

La shell tratta ogni carattere di IFS come delimitatore, e divide i risultati dell'altro
espansioni in parole usando questi caratteri come terminatori di campo. Se IFS non è impostato, o
il suo valore è esattamente , l'impostazione predefinita, quindi sequenze di , ,
ed all'inizio e alla fine dei risultati delle precedenti espansioni sono
ignorato, e qualsiasi sequenza di IFS i caratteri non all'inizio o alla fine servono a delimitare
parole. Se IFS ha un valore diverso da quello predefinito, quindi le sequenze degli spazi bianchi
caratteri spazio ed linguetta vengono ignorati all'inizio e alla fine della parola, purché il
il carattere di spazio bianco è nel valore di IFS (un IFS carattere di spazio bianco). Qualsiasi personaggio
in IFS quello non è IFS spazi bianchi, insieme a qualsiasi adiacente IFS caratteri spazi bianchi,
delimita un campo. Una sequenza di IFS anche i caratteri di spaziatura vengono trattati come delimitatori.
Se il valore di IFS è null, non si verifica la suddivisione in parole.

Argomenti nulli espliciti ("" or '') sono mantenuti. Argomenti null impliciti non quotati,
derivanti dall'espansione dei parametri che non hanno valori, vengono rimossi. Se un
parametro senza valore viene espanso tra virgolette, un argomento null risulta ed è
trattenuto.

Notare che se non si verifica alcuna espansione, non viene eseguita alcuna suddivisione.

Pathname Espansione
Dopo la suddivisione in parole, a meno che il -f l'opzione è stata impostata, bash scansiona ogni parola per il
caratteri *, ?e [. Se appare uno di questi caratteri, la parola è considerata come
a modelloe sostituito con un elenco in ordine alfabetico di nomi di file corrispondenti a
modello (vedi Cartamodello accoppiamento qui di seguito). Se non vengono trovati nomi di file corrispondenti e la shell
opzione nullaglob non è abilitato, la parola rimane invariata. Se la nullaglob opzione è
impostato e non vengono trovate corrispondenze, la parola viene rimossa. Se la globo fallito l'opzione shell è impostata,
e non vengono trovate corrispondenze, viene stampato un messaggio di errore e il comando non viene eseguito. Se
l'opzione shell nocaseglob è abilitato, la partita viene eseguita indipendentemente dal caso
di caratteri alfabetici. Si noti che quando si utilizzano espressioni di intervallo come [az] (vedi sotto),
le lettere dell'altro caso possono essere incluse, a seconda dell'impostazione di LC_COLLATE. Quando
pattern è usato per l'espansione del percorso, il carattere ``.'' all'inizio di un nome o
immediatamente dopo una barra deve essere abbinato in modo esplicito, a meno che l'opzione shell dotglob
è impostato. Quando si confronta un nome di percorso, il carattere barra deve essere sempre abbinato in modo esplicito.
In altri casi, il file ``.'' carattere non è trattato in modo speciale. Vedi la descrizione di
negozio sotto sotto SHELL COSTRUZIONE COMANDI per una descrizione del nocaseglob, nullaglob,
globo fallitoe dotglob opzioni di shell.

I GLOBIGNORE la variabile shell può essere usata per restringere l'insieme dei nomi di file che corrispondono a a
modello. Se GLOBIGNORE è impostato, ogni nome di file corrispondente che corrisponde anche a uno dei
modelli in GLOBIGNORE viene rimosso dall'elenco delle corrispondenze. I nomi dei file ``.'' ed
``..'' vengono sempre ignorati quando GLOBIGNORE è impostato e non nullo. Tuttavia, l'impostazione
GLOBIGNORE ad un valore non nullo ha l'effetto di abilitare il dotglob opzione shell, quindi tutto
altri nomi di file che iniziano con a ``.'' corrisponderà. Per ottenere il vecchio comportamento di ignorare
nomi di file che iniziano con a ``.'', rendere ``.*'' uno dei modelli in GLOBIGNORE.
dotglob l'opzione è disabilitata quando GLOBIGNORE non è impostato.

Cartamodello accoppiamento

Qualsiasi carattere che appare in un motivo, diverso dai caratteri speciali del motivo
descritto di seguito, corrisponde a se stesso. Il carattere NUL potrebbe non essere presente in un modello. UN
barra rovesciata esegue l'escape del carattere seguente; la barra rovesciata in uscita viene scartata quando
corrispondenza. I caratteri del modello speciale devono essere citati se devono essere abbinati
letteralmente.

I caratteri del modello speciale hanno i seguenti significati:

* Corrisponde a qualsiasi stringa, inclusa la stringa nulla. Quando il stella globulare conchiglia
l'opzione è abilitata e * è usato in un contesto di espansione del percorso, due
adiacente *s usati come un singolo modello corrisponderanno a tutti i file e zero o più
directory e sottodirectory. Se seguito da a /, due adiacenti *volontà
corrisponde solo a directory e sottodirectory.
? Corrisponde a qualsiasi singolo carattere.
[...] Corrisponde a uno qualsiasi dei caratteri racchiusi. Una coppia di caratteri separati
da un trattino denota a gamma espressione; qualsiasi personaggio che cade tra
quei due caratteri, inclusi, che utilizzano l'ordinamento delle impostazioni locali correnti
sequenza e set di caratteri, è abbinato. Se il primo carattere che segue
, il [ è un ! o ^ quindi qualsiasi carattere non racchiuso viene abbinato. Il
l'ordinamento dei caratteri nelle espressioni di intervallo è determinato da
locale corrente e i valori di LC_COLLATE or LC_TUTTI variabili di shell,
se impostato. Per ottenere l'interpretazione tradizionale delle espressioni di gamma,
where [anno Domini] è equivalente [abcd], imposta il valore di LC_TUTTI variabile di shell
a C, o abilita il globosciiranges opzione shell. UN - può essere abbinato a
includendolo come primo o ultimo carattere nel set. UN ] può essere abbinato
includendolo come primo carattere nel set.

Nel quadro di [ ed ], carattere classi può essere specificato usando la sintassi
[:classe:], Dove classe è una delle seguenti classi definite nel POSIX
standard:
alum alfa ascii vuoto ctrl cifra grafico inferiore stampare punto spazio superiore parola
xcifra
Una classe di caratteri corrisponde a qualsiasi personaggio appartenente a quella classe. Il parola
la classe di caratteri corrisponde a lettere, cifre e il carattere _.

Nel quadro di [ ed ], una equivalenza classe può essere specificato usando la sintassi
[=c=], che corrisponde a tutti i caratteri con lo stesso peso di confronto (come
definito dalle impostazioni locali correnti) come carattere c.

Nel quadro di [ ed ], la sintassi [.simbolo.] corrisponde al simbolo di fascicolazione simbolo.

Se l' extglob l'opzione shell è abilitata usando il negozio built-in, diversi pattern estesi
vengono riconosciuti gli operatori corrispondenti. Nella seguente descrizione, a lista-modello è una lista
di uno o più pattern separati da a |. I modelli compositi possono essere formati utilizzando uno o
più dei seguenti sotto-schemi:

?(lista-modello)
Corrisponde a zero o a una occorrenza dei modelli dati
*(lista-modello)
Corrisponde a zero o più occorrenze dei modelli dati
+(lista-modello)
Corrisponde a una o più occorrenze dei modelli dati
@(lista-modello)
Corrisponde a uno dei modelli indicati
!(lista-modello)
Corrisponde a qualsiasi cosa tranne uno dei modelli indicati

Quote Rimozione
Dopo le precedenti espansioni, tutte le occorrenze non quotate dei personaggi \, 'e "
che non sono risultate da una delle espansioni di cui sopra vengono rimosse.

REINDIRIZZAZIONE


Prima che un comando venga eseguito, il suo input e output può essere reindirizzato usando uno speciale
notazione interpretata dalla shell. Il reindirizzamento consente agli handle di file dei comandi di essere
duplicato, aperto, chiuso, fatto per fare riferimento a file diversi e può modificare i file il
comando legge da e scrive su. Il reindirizzamento può essere utilizzato anche per modificare gli handle di file in
l'ambiente di esecuzione della shell corrente. I seguenti operatori di reindirizzamento possono precedere
o apparire ovunque all'interno di a semplice command o può seguire a command. I reindirizzamenti sono
elaborati nell'ordine in cui appaiono, da sinistra a destra.

Ogni reindirizzamento che può essere preceduto da un numero di descrittore di file può invece essere preceduto
da una parola della forma {nomevar}. In questo caso, per ogni operatore di reindirizzamento tranne >&-
e <&-, la shell allocherà un descrittore di file maggiore o uguale a 10 e assegnerà
ad nomevar. Se >&- o <&- è preceduto da {nomevar}, il valore di nomevar definisce il
descrittore di file da chiudere.

Nelle seguenti descrizioni, se il numero del descrittore di file viene omesso e il primo
il carattere dell'operatore di reindirizzamento è <, il reindirizzamento si riferisce allo standard input
(descrittore di file 0). Se il primo carattere dell'operatore di reindirizzamento è >, le
il reindirizzamento si riferisce allo standard output (descrittore di file 1).

La parola che segue l'operatore di reindirizzamento nelle seguenti descrizioni, a meno che
altrimenti indicato, è soggetto all'espansione della parentesi graffa, all'espansione della tilde, al parametro e alla variabile
espansione, sostituzione di comando, espansione aritmetica, rimozione di virgolette, espansione di percorsi,
e divisione delle parole. Se si espande in più di una parola, bash segnala un errore.

Si noti che l'ordine dei reindirizzamenti è significativo. Ad esempio, il comando

ls > lista 2>&1

indirizza sia l'output standard che l'errore standard al file dirlist, mentre il comando

È 2>&1 > dirlist

indirizza solo lo standard output su file dirlist, perché l'errore standard era
duplicato dallo standard output prima che lo standard output fosse reindirizzato a dirlist.

Bash gestisce diversi nomi di file specialmente quando vengono utilizzati nei reindirizzamenti, come descritto
nella tabella seguente:

/dev/fd/fd
If fd è un intero valido, descrittore di file fd è duplicato.
/dev/stdin
Il descrittore di file 0 è duplicato.
/dev/stdout
Il descrittore di file 1 è duplicato.
/dev/stderr
Il descrittore di file 2 è duplicato.
/dev/tcp/host/porto
If host è un nome host o un indirizzo Internet valido e porto è una porta intera
numero o nome del servizio, bash tenta di aprire il socket TCP corrispondente.
/dev/udp/host/porto
If host è un nome host o un indirizzo Internet valido e porto è una porta intera
numero o nome del servizio, bash tenta di aprire il socket UDP corrispondente.

L'impossibilità di aprire o creare un file causa l'esito negativo del reindirizzamento.

I reindirizzamenti che utilizzano descrittori di file maggiori di 9 dovrebbero essere usati con cautela, in quanto potrebbero
conflitto con i descrittori di file utilizzati internamente dalla shell.

Notare quello exec Il comando builtin può rendere effettivi i reindirizzamenti nella shell corrente.

Reindirizzamento Ingresso
Il reindirizzamento dell'input causa il file il cui nome risulta dall'espansione di parola essere
aperto per la lettura sul descrittore di file n, o l'input standard (descrittore di file 0) se n is
non specificato.

Il formato generale per reindirizzare l'input è:

[n]<parola

Reindirizzamento Uscita
Il reindirizzamento dell'output causa il file il cui nome risulta dall'espansione di parola essere
aperto per la scrittura sul descrittore di file n, o lo standard output (descrittore di file 1) se n
non è specificato. Se il file non esiste viene creato; se esiste è
troncato a dimensione zero.

Il formato generale per reindirizzare l'output è:

[n]>parola

Se l'operatore di reindirizzamento è >, e il noclobber opzione per il set incorporato è stato
abilitato, il reindirizzamento fallirà se il file il cui nome risulta dall'espansione di
parola esiste ed è un file normale. Se l'operatore di reindirizzamento è >|, o il reindirizzamento
operatore è > e la noclobber opzione per il set comando integrato non è abilitato, il
viene tentato il reindirizzamento anche se il file denominato da parola esiste.

In allegato Reindirizzamento Uscita
Il reindirizzamento dell'output in questo modo fa sì che il file il cui nome derivi da
espansione di parola da aprire per l'aggiunta al descrittore di file n, o l'output standard
(descrittore di file 1) se n non è specificato. Se il file non esiste viene creato.

Il formato generale per l'aggiunta dell'output è:

[n]>>parola

Reindirizzamento Standard Uscita ed Standard Errore
Questo costrutto consente sia lo standard output (descrittore di file 1) che lo standard error
output (descrittore di file 2) per essere reindirizzato al file il cui nome è l'espansione di
parola.

Esistono due formati per reindirizzare l'output standard e l'errore standard:

&>parola
ed
>&parola

Delle due forme si preferisce la prima. Questo è semanticamente equivalente a

>parola 2>&1

Quando si utilizza il secondo modulo, parola potrebbe non espandersi in un numero o -. Se lo fa, altro
si applicano gli operatori di reindirizzamento (vedi duplicazione Compila il descrittori sotto) per compatibilità
motivi.

In allegato Standard Uscita ed Standard Errore
Questo costrutto consente sia lo standard output (descrittore di file 1) che lo standard error
output (descrittore di file 2) da aggiungere al file il cui nome è l'espansione di parola.

Il formato per l'aggiunta dell'output standard e dell'errore standard è:

&>>parola

Questo è semanticamente equivalente a

>>parola 2>&1

(Vedi duplicazione Compila il descrittori sotto).

Qui Documenti
Questo tipo di reindirizzamento indica alla shell di leggere l'input dalla sorgente corrente fino a quando a
riga contenente solo delimitatore (senza spazi finali). Tutte le righe lette
fino a quel momento vengono quindi utilizzati come input standard per un comando.

Il formato di here-documents è:

<<[-]parola
qui-documento
delimitatore

Nessuna espansione di parametri e variabili, sostituzione di comandi, espansione aritmetica o
l'espansione del percorso viene eseguita su parola. Se ci sono caratteri in parola sono citati, i
delimitatore è il risultato della rimozione del preventivo su parola, e le righe nel documento qui sono
non ampliato. Se parola non è quotato, tutte le righe del documento qui sono soggette a
espansione dei parametri, sostituzione di comando ed espansione aritmetica, il carattere
sequenza \ viene ignorato, e \ deve essere usato per citare i caratteri \, $e `.

Se l'operatore di reindirizzamento è << -, quindi tutti i caratteri di tabulazione iniziali vengono rimossi da
righe di input e la riga che contiene delimitatore. Questo permette qui-documenti all'interno della shell
script da rientrare in modo naturale.

Qui String
Una variante di qui documenti, il formato è:

<<parola

I parola subisce espansione di parentesi graffe, espansione di tilde, espansione di parametri e variabili,
sostituzione di comando, espansione aritmetica e rimozione di virgolette. Espansione del percorso e
la suddivisione in parole non viene eseguita. Il risultato viene fornito come una singola stringa al
comando sul suo input standard.

duplicazione Compila il descrittori
L'operatore di reindirizzamento

[n]<&parola

viene utilizzato per duplicare i descrittori di file di input. Se parola si espande a una o più cifre, il
descrittore di file indicato da n è fatto per essere una copia di quel descrittore di file. Se le cifre
in parola non specificare un descrittore di file aperto per l'input, si verifica un errore di reindirizzamento. Se
parola valuta -, descrittore di file n è chiuso. Se n non è specificato, lo standard
input (descrittore di file 0).

L'operatore

[n]>&parola

viene utilizzato in modo simile per duplicare i descrittori di file di output. Se n non è specificato, il
viene utilizzato l'output standard (descrittore di file 1). Se le cifre in parola non specificare un file
descrittore aperto per l'output, si verifica un errore di reindirizzamento. Se parola valuta -, file
descrittore n è chiuso. Come caso speciale, se n è omesso, e parola non si espande a
una o più cifre o -, lo standard output e l'errore standard vengono reindirizzati come
descritto in precedenza.

In movimento Compila il descrittori
L'operatore di reindirizzamento

[n]<&cifra-

sposta il descrittore di file cifra al descrittore di file n, o l'input standard (file
descrittore 0) se n non è specificato. cifra è chiuso dopo essere stato duplicato in n.

Allo stesso modo, l'operatore di reindirizzamento

[n]>&cifra-

sposta il descrittore di file cifra al descrittore di file n, o lo standard output (file
descrittore 1) se n non è specificato.

Apertura Compila il descrittori per Lettura ed scrittura
L'operatore di reindirizzamento

[n]<>parola

causa il file il cui nome è l'espansione di parola da aprire sia per la lettura che per
scrivendo sul descrittore di file n, o sul descrittore di file 0 se n non è specificato. Se il file
non esiste, è creato.

ALIAS


Alias consentire a una stringa di essere sostituita a una parola quando viene utilizzata come prima parola di a
comando semplice. La shell mantiene un elenco di alias che possono essere impostati e disattivati ​​con il tasto
alias ed Unalias comandi incorporati (vedi SHELL COSTRUZIONE COMANDI qui di seguito). La prima parola di
ogni semplice comando, se non quotato, viene controllato per vedere se ha un alias. Se è così, quella parola
è sostituito dal testo dell'alias. I personaggi /, $, `e = e qualsiasi delle conchiglie
metacaratteri o citando i caratteri sopra elencati potrebbero non apparire in un nome alias. Il
il testo sostitutivo può contenere qualsiasi input di shell valido, inclusi i metacaratteri della shell. Il
la prima parola del testo sostitutivo viene testata per gli alias, ma una parola identica a
un alias in espansione non viene espanso una seconda volta. Ciò significa che si può alias ls
a ls -F, ad esempio, e bash non tenta di espandere in modo ricorsivo il testo sostitutivo.
Se l'ultimo carattere del valore dell'alias è a vuoto, quindi la successiva parola di comando che segue
l'alias viene anche controllato per l'espansione dell'alias.

Gli alias vengono creati ed elencati con il alias comando e rimosso con il Unalias
comando.

Non esiste alcun meccanismo per l'utilizzo di argomenti nel testo sostitutivo. Se gli argomenti sono
necessario, dovrebbe essere usata una funzione di shell (vedi FUNZIONI sotto).

Gli alias non vengono espansi quando la shell non è interattiva, a meno che il expand_alias
l'opzione shell è impostata usando negozio (vedi la descrizione di negozio per SHELL COSTRUZIONE COMANDI
sotto).

Le regole relative alla definizione e all'uso degli alias sono alquanto confuse. Bash
legge sempre almeno una riga completa di input prima di eseguire uno qualsiasi dei comandi su
quella linea. Gli alias vengono espansi quando viene letto un comando, non quando viene eseguito.
Pertanto, una definizione di alias che appare sulla stessa riga di un altro comando non accetta
effetto fino alla lettura della riga di input successiva. I comandi che seguono la definizione dell'alias
su quella linea non sono interessati dal nuovo alias. Questo comportamento è anche un problema quando
vengono eseguite le funzioni. Gli alias vengono espansi quando viene letta una definizione di funzione, non quando
la funzione viene eseguita, perché una definizione di funzione è essa stessa un comando composto. Come
di conseguenza, gli alias definiti in una funzione non sono disponibili fino a dopo tale funzione
viene eseguito. Per sicurezza, metti sempre le definizioni degli alias su una riga separata e non usare
alias nei comandi composti.

Per quasi tutti gli scopi, gli alias sono sostituiti dalle funzioni della shell.

FUNZIONI


Una funzione shell, definita come descritto sopra in SHELL GRAMMATICA, memorizza una serie di
comandi per l'esecuzione successiva. Quando il nome di una funzione di shell viene utilizzato come semplice
nome comando, viene eseguito l'elenco dei comandi associati a quel nome di funzione.
Le funzioni vengono eseguite nel contesto della shell corrente; non viene creato alcun nuovo processo per
interpretarli (confronta questo con l'esecuzione di uno script di shell). Quando una funzione è
eseguito, gli argomenti della funzione diventano i parametri posizionali durante il suo
esecuzione. Il parametro speciale # viene aggiornato per riflettere la modifica. Parametro speciale 0
è invariato. Il primo elemento della NOME FUNZIONALE la variabile è impostata sul nome del
funzione mentre la funzione è in esecuzione.

Tutti gli altri aspetti dell'ambiente di esecuzione della shell sono identici tra una funzione e
il suo chiamante con queste eccezioni: the DEBUG ed RITORNO trappole (vedi la descrizione del
trappola integrato sotto SHELL COSTRUZIONE COMANDI sotto) non vengono ereditati a meno che la funzione non abbia
stato dato il tracciare attributo (vedi la descrizione del dichiarare integrato di seguito) o il
-o funtrace l'opzione shell è stata abilitata con il set builtin (nel qual caso all
le funzioni ereditano il DEBUG ed RITORNO trappole), e il ERR trap non viene ereditata a meno che
, il -o errore l'opzione shell è stata abilitata.

Le variabili locali alla funzione possono essere dichiarate con il locale comando incorporato.
Normalmente, le variabili ei loro valori sono condivisi tra la funzione e il suo chiamante.

I DIVERTENTE variabile, se impostata su un valore numerico maggiore di 0, definisce un massimo
livello di nidificazione delle funzioni. Le invocazioni di funzioni che superano il limite causano l'intera
comando di abortire.

Se il comando integrato ritorno viene eseguito in una funzione, la funzione viene completata e
l'esecuzione riprende con il comando successivo alla chiamata di funzione. Qualsiasi comando associato
con la RITORNO trap viene eseguito prima che l'esecuzione riprenda. Quando una funzione è completata, il
valori dei parametri posizionali e del parametro speciale # sono riportati ai valori
avevano prima dell'esecuzione della funzione.

I nomi e le definizioni delle funzioni possono essere elencati con il -f opzione per il dichiarare or comporre
comandi incorporati. Il -F opzione a dichiarare or comporre elencherà solo i nomi delle funzioni
(e facoltativamente il file sorgente e il numero di riga, se il extdebug l'opzione shell è abilitata).
Le funzioni possono essere esportate in modo che le subshell le abbiano automaticamente definite con il tasto -f
opzione per il export incorporato Una definizione di funzione può essere cancellata usando il -f opzione a
, il non settato incorporato Nota che possono risultare funzioni di shell e variabili con lo stesso nome
in più voci con nomi identici nell'ambiente passato ai figli della shell.
Prestare attenzione nei casi in cui ciò potrebbe causare un problema.

Le funzioni possono essere ricorsive. Il DIVERTENTE variabile può essere utilizzata per limitare la profondità del
stack di chiamate di funzione e limitare il numero di chiamate di funzione. Per impostazione predefinita, nessun limite
viene imposto al numero di chiamate ricorsive.

ARITMETICA VALUTAZIONE


La shell permette di valutare le espressioni aritmetiche, in determinate circostanze (vedi
, il lasciare ed dichiarare comandi incorporati e Aritmetica Espansione). La valutazione è fatta in
interi a larghezza fissa senza controllo per l'overflow, sebbene la divisione per 0 sia intrappolata e
segnalato come errore. Gli operatori e la loro precedenza, associatività e valori sono
come nel linguaggio C. Il seguente elenco di operatori è raggruppato in livelli di
operatori di pari precedenza. I livelli sono elencati in ordine di precedenza decrescente.

id++ id--
variabile post-incremento e post-decremento
++id --id
pre-incremento e pre-decremento variabile
- + unario meno e più
! ~ negazione logica e bit a bit
** elevamento a potenza
* / % moltiplicazione, divisione, resto
+ - addizione, sottrazione
<< >> shift bit a bit a sinistra e a destra
<= >= < >
confronto
== != uguaglianza e disuguaglianza
& bit a bit AND
^ OR esclusivo bit per bit
| bit a bit OR
&& AND logico
|| OR logico
espr?espr:espr
operatore condizionale
= *= /= %= += -= << = >> = &= ^= |=
assegnazione
espr1 , espr2
virgola

Le variabili di shell sono consentite come operandi; l'espansione dei parametri viene eseguita prima del
viene valutata l'espressione. All'interno di un'espressione, le variabili di shell possono anche essere referenziate da
name senza utilizzare la sintassi di espansione dei parametri. Una variabile di shell che è nulla o non impostata
restituisce 0 quando viene referenziato per nome senza utilizzare la sintassi di espansione del parametro. Il
il valore di una variabile viene valutato come un'espressione aritmetica quando vi si fa riferimento, oppure
quando una variabile a cui è stato assegnato il numero intero attributo usando dichiarare -i è assegnato a
valore. Un valore nullo restituisce 0. Non è necessario che una variabile di shell abbia il suo numero intero attributo
attivato per essere utilizzato in un'espressione.

Le costanti con uno 0 iniziale vengono interpretate come numeri ottali. Uno 0x o 0X iniziale denota
esadecimale. In caso contrario, i numeri assumono la forma [base#]n, dove l'opzionale base è un
numero decimale compreso tra 2 e 64 che rappresenta la base aritmetica, e n è un numero in
quella base. Se base# viene omesso, viene utilizzata la base 10. Quando si specifica n, le cifre
maggiore< di 9 sono rappresentate dalle lettere minuscole, le lettere maiuscole, @ e _,
in questo ordine. Se base è minore o uguale a 36, ​​le lettere minuscole e maiuscole possono
essere usato in modo intercambiabile per rappresentare i numeri tra 10 e 35.

Gli operatori vengono valutati in ordine di precedenza. Le sottoespressioni tra parentesi sono
valutata per prima e può sovrascrivere le regole di precedenza sopra.

CONDIZIONALE ESPRESSIONI


Le espressioni condizionali sono usate dal [[ comando composto e il test ed [ incorporato
comandi per testare gli attributi dei file ed eseguire confronti di stringhe e aritmetici.
Le espressioni sono formate dai seguenti primari unari o binari. se c'è filetto argomento
ad una delle primarie è della forma /dev/fd/n, quindi descrittore di file n è controllato. Se
, il filetto l'argomento per una delle primarie è uno dei /dev/stdin, /dev/stdout, o
/dev/stderr, il descrittore di file 0, 1 o 2, rispettivamente, è selezionato.

Se non diversamente specificato, i primari che operano sui file seguono collegamenti simbolici e
operare sulla destinazione del collegamento, piuttosto che sul collegamento stesso.

Se usato con [[, le < ed > gli operatori ordinano lessicograficamente utilizzando la locale corrente.
I test comando ordina utilizzando l'ordinamento ASCII.

-a filetto
vero se filetto esiste.
-b filetto
vero se filetto esiste ed è un file speciale a blocchi.
-c filetto
vero se filetto esiste ed è un file di caratteri speciali.
-d filetto
vero se filetto esiste ed è una directory.
-e filetto
vero se filetto esiste.
-f filetto
vero se filetto esiste ed è un file normale.
-g filetto
vero se filetto esiste ed è set-group-id.
-h filetto
vero se filetto esiste ed è un collegamento simbolico.
-k filetto
vero se filetto esiste e il suo bit ``sticky'' è impostato.
-p filetto
vero se filetto esiste ed è una named pipe (FIFO).
-r filetto
vero se filetto esiste ed è leggibile.
-s filetto
vero se filetto esiste e ha una dimensione maggiore di zero.
-t fd Vero se descrittore di file fd è aperto e fa riferimento a un terminale.
-u filetto
vero se filetto esiste e il suo bit set-user-id è impostato.
-w filetto
vero se filetto esiste ed è scrivibile.
-x filetto
vero se filetto esiste ed è eseguibile.
-G filetto
vero se filetto esiste ed è di proprietà dell'ID di gruppo effettivo.
-L filetto
vero se filetto esiste ed è un collegamento simbolico.
-N filetto
vero se filetto esiste ed è stato modificato dall'ultima lettura.
-O filetto
vero se filetto esiste ed è di proprietà dell'ID utente effettivo.
-S filetto
vero se filetto esiste ed è un socket.
file1 -ef file2
vero se file1 ed file2 fare riferimento allo stesso dispositivo e allo stesso numero di inode.
file1 -nt file2
vero se file1 è più recente (in base alla data di modifica) di file2, o se file1
esiste e file2 non.
file1 -ot file2
vero se file1 è più vecchio di file2, o se file2 esiste e file1 non.
-o nomeopt
Vero se l'opzione shell nomeopt è abilitato. Vedi l'elenco delle opzioni sotto il
descrizione del -o opzione per il set incorporato di seguito.
-v nomevar
Vero se la variabile shell nomevar è impostato (è stato assegnato un valore).
-R nomevar
Vero se la variabile shell nomevar è impostato ed è un riferimento al nome.
-z stringa
Vero se la lunghezza di stringa è zero.
stringa
-n stringa
Vero se la lunghezza di stringa è diverso da zero.

string1 == string2
string1 = string2
Vero se le stringhe sono uguali. = dovrebbe essere usato con il test comando per POSIX
conformità. Se utilizzato con il [[ comando, questo esegue la corrispondenza del modello come
descritto sopra (Compound Comandi).

string1 != string2
Vero se le stringhe non sono uguali.

string1 < string2
vero se string1 ordina prima string2 lessicograficamente.

string1 > string2
vero se string1 ordina dopo string2 lessicograficamente.

arg1 OP arg2
OP è uno dei -eq, -Ne, -lt, -Le, -gt, o -dare. Questi operatori binari aritmetici
restituisce vero se arg1 è uguale a, non uguale a, minore di, minore di o uguale a,
maggiore di, o maggiore di o uguale a arg2, Rispettivamente. Argo1 ed arg2 può essere
interi positivi o negativi.

SEMPLICE COMANDO ESPANSIONE


Quando viene eseguito un semplice comando, la shell esegue le seguenti espansioni,
assegnazioni e reindirizzamenti, da sinistra a destra.

1. Le parole che il parser ha contrassegnato come assegnazioni variabili (quelle che precedono il
nome comando) e i reindirizzamenti vengono salvati per un'elaborazione successiva.

2. Le parole che non sono assegnazioni variabili o reindirizzamenti vengono espanse. se c'è
le parole rimangono dopo l'espansione, la prima parola è considerata il nome del comando
e le parole rimanenti sono gli argomenti.

3. I reindirizzamenti vengono eseguiti come descritto sopra in REINDIRIZZAZIONE.

4. Il testo dopo il = in ogni assegnazione variabile subisce espansione tilde,
espansione dei parametri, sostituzione dei comandi, espansione aritmetica e rimozione delle virgolette
prima di essere assegnato alla variabile.

Se non risulta alcun nome di comando, le assegnazioni delle variabili influiscono sull'ambiente della shell corrente.
In caso contrario, le variabili vengono aggiunte all'ambiente del comando eseguito e non lo fanno
influenzare l'ambiente della shell corrente. Se una delle assegnazioni tenta di assegnare a
valore a una variabile di sola lettura, si verifica un errore e il comando esce con un valore diverso da zero
stato.

Se non risulta alcun nome di comando, vengono eseguiti i reindirizzamenti, ma non influiscono sull'attuale
ambiente shell. Un errore di reindirizzamento fa sì che il comando esca con uno stato diverso da zero.

Se dopo l'espansione è rimasto un nome di comando, l'esecuzione procede come descritto di seguito.
In caso contrario, il comando termina. Se una delle espansioni conteneva una sostituzione di comando,
lo stato di uscita del comando è lo stato di uscita dell'ultima sostituzione del comando
eseguita. Se non ci sono state sostituzioni di comando, il comando esce con uno stato di
zero.

COMANDO ESECUZIONE


Dopo che un comando è stato suddiviso in parole, se risulta in un comando semplice e
elenco opzionale di argomenti, vengono eseguite le seguenti azioni.

Se il nome del comando non contiene barre, la shell tenta di individuarlo. Se esiste
una funzione di shell con quel nome, quella funzione viene invocata come descritto sopra in FUNZIONI.
Se il nome non corrisponde a una funzione, la shell la cerca nell'elenco delle shell
incorporati. Se viene trovata una corrispondenza, viene invocato quel builtin.

Se il nome non è né una funzione di shell né un built-in e non contiene barre, bash
cerca ogni elemento del PERCORSO per una directory contenente un file eseguibile da quello
nome. Bash usa una tabella hash per ricordare i percorsi completi dei file eseguibili (vedi hash
per SHELL COSTRUZIONE COMANDI qui di seguito). Una ricerca completa delle directory in PERCORSO is
eseguito solo se il comando non viene trovato nella tabella hash. Se la ricerca è
senza successo, la shell cerca una funzione di shell definita denominata
comando_non_trovato. Se quella funzione esiste, viene invocata con l'originale
comando e gli argomenti del comando originale come argomenti e l'uscita della funzione
status diventa lo stato di uscita della shell. Se quella funzione non è definita, la shell
stampa un messaggio di errore e restituisce lo stato di uscita 127.

Se la ricerca ha esito positivo, o se il nome del comando contiene una o più barre, il pulsante
shell esegue il programma indicato in un ambiente di esecuzione separato. L'argomento 0 è impostato
al nome dato e gli argomenti rimanenti al comando sono impostati sugli argomenti
dato, se del caso.

Se questa esecuzione fallisce perché il file non è in formato eseguibile e il file non lo è
una directory, si assume che sia a conchiglia copione, un file contenente i comandi della shell. UN
subshell viene generato per eseguirlo. Questa subshell si reinizializza, in modo che l'effetto
è come se fosse stata invocata una nuova shell per gestire lo script, con l'eccezione che il
posizioni dei comandi ricordate dal genitore (vedi hash sotto sotto SHELL COSTRUZIONE
COMANDI) sono trattenuti dal figlio.

Se il programma è un file che inizia con #!, il resto della prima riga specifica an
interprete del programma. La shell esegue l'interprete specificato durante il funzionamento
sistemi che non gestiscono da soli questo formato eseguibile. Gli argomenti per
l'interprete consiste in un singolo argomento opzionale che segue il nome dell'interprete sul
prima riga del programma, seguita dal nome del programma, seguita dal comando
argomenti, se ce ne sono.

COMANDO ESECUZIONE AMBIENTE


Il guscio ha un esecuzione ambiente, che si compone di quanto segue:

· file aperti ereditati dalla shell al momento dell'invocazione, come modificati dai reindirizzamenti
in dotazione al exec incorporato

· la directory di lavoro corrente come impostata da cd, pushd, o popd, o ereditato dal
shell all'invocazione

· la maschera della modalità di creazione del file impostata da umask o ereditato dal genitore della shell

· trappole attuali impostate da trappola

· parametri della shell che sono impostati dall'assegnazione di variabili o con set o ereditato da
il genitore della shell nell'ambiente

· funzioni di shell definite durante l'esecuzione o ereditate dal genitore della shell in
dell'ambiente

· opzioni abilitate al momento dell'invocazione (o per impostazione predefinita o con argomenti della riga di comando) o
by set

· opzioni abilitate da negozio

· alias della shell definiti con alias

· vari ID di processo, inclusi quelli dei lavori in background, il valore di $$, e il
valore di PPID

Quando deve essere eseguito un semplice comando diverso da una funzione incorporata o shell, è
richiamato in un ambiente di esecuzione separato composto da quanto segue. Salvo che
altrimenti notato, i valori vengono ereditati dalla shell.

· i file aperti della shell, più eventuali modifiche e aggiunte specificate da
reindirizzamenti al comando

· la directory di lavoro corrente

· la maschera della modalità di creazione dei file

· variabili e funzioni della shell contrassegnate per l'esportazione, insieme alle variabili esportate per
il comando, passato nell'ambiente

· le trap catturate dalla shell vengono ripristinate ai valori ereditati dalla shell
genitore e le trap ignorate dalla shell vengono ignorate

Un comando invocato in questo ambiente separato non può influenzare l'esecuzione della shell
ambiente.

La sostituzione dei comandi, i comandi raggruppati tra parentesi e i comandi asincroni sono
invocato in un ambiente subshell che è un duplicato dell'ambiente shell, eccetto
che le trap catturate dalla shell vengano ripristinate ai valori che la shell ha ereditato dalla sua
genitore al momento dell'invocazione. Anche i comandi incorporati che vengono invocati come parte di una pipeline sono
eseguito in un ambiente subshell. Le modifiche apportate all'ambiente subshell non possono
influenzare l'ambiente di esecuzione della shell.

Le subshell generate per eseguire le sostituzioni dei comandi ereditano il valore di -e opzione da
il guscio genitore. Quando non sei dentro posix modalità, bash cancella il file -e opzione in tali subshell.

Se un comando è seguito da a & e il controllo del lavoro non è attivo, l'input standard predefinito
perché il comando è il file vuoto / Dev / null. In caso contrario, il comando invocato eredita il
descrittori di file della shell chiamante modificati dai reindirizzamenti.

AMBIENTE


Quando viene invocato un programma, viene fornito un array di stringhe chiamato ambiente. Questo è
una lista di Nome-APPREZZIAMO coppie, della forma Nome=APPREZZIAMO.

La shell fornisce diversi modi per manipolare l'ambiente. All'invocazione, il guscio
scansiona il proprio ambiente e crea un parametro per ogni nome trovato, automaticamente
segnandolo per export ai processi figlio. I comandi eseguiti ereditano l'ambiente. Il
export ed dichiarare -x i comandi consentono di aggiungere e cancellare parametri e funzioni
dall'ambiente. Se il valore di un parametro nell'ambiente viene modificato, il nuovo
il valore diventa parte dell'ambiente, sostituendosi al vecchio. L'ambiente ereditato da
qualsiasi comando eseguito consiste nell'ambiente iniziale della shell, i cui valori possono essere
modificato nel guscio, meno eventuali coppie rimosse dal non settato comando, più eventuali aggiunte tramite
, il export ed dichiarare -x comandi.

L'ambiente per ogni semplice command o la funzione può essere aumentata temporaneamente da
anteponendolo con le assegnazioni dei parametri, come descritto sopra in PARAMETRI. Queste
le istruzioni di assegnazione influenzano solo l'ambiente visto da quel comando.

Se l' -k l'opzione è impostata (vedi set comando incorporato di seguito), quindi contro tutti i parametro
le assegnazioni sono poste nell'ambiente per un comando, non solo quelle che precedono il
nome del comando.

Quando bash invoca un comando esterno, la variabile _ è impostato sul nome completo del file
comando e passato a quel comando nel suo ambiente.

EXIT STATUS


Lo stato di uscita di un comando eseguito è il valore restituito dal aspetta chiamata di sistema o
funzione equivalente. Gli stati di uscita sono compresi tra 0 e 255, tuttavia, come spiegato di seguito,
la shell può utilizzare valori superiori a 125 appositamente. Stati di uscita dai comandi incorporati della shell e
anche i comandi composti sono limitati a questo intervallo. In determinate circostanze, il guscio
utilizzerà valori speciali per indicare modalità di guasto specifiche.

Ai fini della shell, un comando che esce con uno stato di uscita zero è riuscito. Un
lo stato di uscita pari a zero indica il successo. Uno stato di uscita diverso da zero indica un errore. Quando un
il comando termina con un segnale fatale N, bash utilizza il valore di 128+N come stato di uscita.

Se un comando non viene trovato, il processo figlio creato per eseguirlo restituisce uno stato di
127. Se un comando viene trovato ma non è eseguibile, lo stato di ritorno è 126.

Se un comando non riesce a causa di un errore durante l'espansione o il reindirizzamento, lo stato di uscita è
maggiore di zero.

I comandi integrati della shell restituiscono uno stato di 0 (vero) se ha esito positivo e diverso da zero (falso) Se
si verifica un errore durante l'esecuzione. Tutti i builtin restituiscono uno stato di uscita di 2 per indicare
uso scorretto.

Bash stesso restituisce lo stato di uscita dell'ultimo comando eseguito, a meno che non si verifichi un errore di sintassi
si verifica, nel qual caso esce con un valore diverso da zero. Vedi anche il exit comando integrato
qua sotto.

SEGNALI


Quando bash è interattivo, in assenza di trappole, ignora TERMINE (affinché kill 0
non uccide una shell interattiva), e SIGINT viene catturato e gestito (in modo che il aspettare
builtin è interrompibile). In tutti i casi, bash ignora TANTO. Se il controllo del lavoro è attivo
effetto, bash ignora SIGTTINO, SIGTTOUe SIGTSTP.

Comandi non integrati eseguiti da bash avere gestori di segnale impostati sui valori ereditati da
shell dal suo genitore. Quando il controllo del lavoro non è attivo, i comandi asincroni vengono ignorati
SIGINT ed TANTO oltre a questi gestori ereditati. I comandi vengono eseguiti come risultato di
la sostituzione del comando ignora i segnali di controllo del lavoro generati dalla tastiera SIGTTINO, SIGTTOU,
ed SIGTSTP.

La shell esce per impostazione predefinita al ricevimento di a SIGILLO. Prima di uscire, una shell interattiva
invia nuovamente il SIGILLO a tutti i lavori, in esecuzione o interrotti. I lavori interrotti vengono inviati PROSSIMO CONTO a
assicurarsi che ricevano il SIGILLO. Per impedire alla shell di inviare il segnale ad a
particolare lavoro, dovrebbe essere rimosso dalla tabella dei lavori con il file rinnegare incorporato (vedi
SHELL COSTRUZIONE COMANDI sotto) o contrassegnati per non ricevere SIGILLO utilizzando rinnegare -h.

Se l' huponexit l'opzione shell è stata impostata con negozio, bash invia a SIGILLO a tutti i lavori
quando una shell di accesso interattiva esce.

If bash è in attesa del completamento di un comando e riceve un segnale per il quale è presente una trappola
stato impostato, il trap non verrà eseguito fino al completamento del comando. quando bash Sta aspettando
per un comando asincrono tramite il aspettare builtin, la ricezione di un segnale per il quale a
trap è stata impostata causerà il aspettare builtin per tornare immediatamente con uno stato di uscita
maggiore di 128, subito dopo di che viene eseguita la trappola.

JOB CONTROLLO


Lavoro di controllo si riferisce alla capacità di fermare selettivamente (sospendere) l'esecuzione dei processi
e continua (curriculum vitae) la loro esecuzione in un momento successivo. Un utente in genere utilizza questo
struttura tramite un'interfaccia interattiva fornita congiuntamente dal kernel del sistema operativo
driver del terminale e bash.

La shell associa a lavoro con ogni conduttura. Mantiene una tabella di attualmente in esecuzione
lavori, che possono essere elencati con il posti di lavoro comando. quando bash avvia un lavoro in modo asincrono
(nel sfondo), stampa una linea che assomiglia a:

[1] 25647

indicando che questo lavoro è il lavoro numero 1 e che l'ID del processo dell'ultimo processo in
la pipeline associata a questo lavoro è 25647. Tutti i processi in un'unica pipeline
sono membri dello stesso lavoro. Bash utilizza l' lavoro l'astrazione come base per il controllo del lavoro.

Per facilitare l'implementazione dell'interfaccia utente per il controllo del lavoro, il funzionamento
il sistema mantiene la nozione di a corrente terminale processi gruppo ID. Membri di questo
gruppo di processi (processi il cui ID gruppo di processi è uguale al processo terminale corrente
ID gruppo) ricevono segnali generati dalla tastiera come SIGINT. Si dice che questi processi
essere nel primo piano. sfondo i processi sono quelli il cui ID gruppo di processi è diverso
del terminale; tali processi sono immuni ai segnali generati dalla tastiera. Solo primo piano
i processi possono leggere da o, se l'utente lo specifica con stty tostop, scrivere su
il terminale. Processi in background che tentano di leggere da (scrivere in quando stty tostop
è in vigore) il terminale viene inviato a SIGTTINO (SIGTTOU) segnale dal terminale del kernel
conducente, che, a meno che non venga catturato, sospende il processo.

Se il sistema operativo su cui bash è in esecuzione supporta il controllo dei lavori, bash contiene
strutture per usarlo. Digitando il sospendere carattere (tipicamente ^Z, Control-Z) mentre a
processo è in esecuzione provoca l'arresto del processo e restituisce il controllo bash. Digitando
, il ritardato sospendere carattere (tipicamente ^Y, Control-Y) provoca l'arresto del processo
quando tenta di leggere l'input dal terminale e il controllo a cui tornare bash.
l'utente può quindi manipolare lo stato di questo lavoro, utilizzando il file bg comando per continuare nel
sfondo, il fg comando per continuare in primo piano, o il kill comando di uccidere
esso. UN ^Z ha effetto immediato e ha l'ulteriore effetto collaterale di causare pendenti
output e typeahead da eliminare.

Esistono diversi modi per fare riferimento a un lavoro nella shell. Il personaggio % introduce un
specifiche del lavoro (specifica del lavoro). Numero di lavoro n può essere indicato come %n. Può anche essere un lavoro
a cui si fa riferimento utilizzando un prefisso del nome utilizzato per avviarlo o utilizzando una sottostringa visualizzata
nella sua riga di comando. Per esempio, %ce si riferisce a un fermo ce lavoro. Se un prefisso corrisponde
più di un lavoro, bash segnala un errore. Usando %?ce, invece, si riferisce a qualsiasi
lavoro contenente la stringa ce nella sua riga di comando. Se la sottostringa corrisponde a più di una
lavoro, bash segnala un errore. I simboli %% ed %+ fare riferimento alla nozione di shell di
corrente lavoro, che è l'ultimo lavoro interrotto mentre era in primo piano o iniziato
lo sfondo. Il precedente lavoro può essere referenziato utilizzando %-. Se ce n'è solo uno
lavoro, %+ ed %- entrambi possono essere usati per fare riferimento a quel lavoro. In output relativi a lavori (ad es.
l'uscita del posti di lavoro comando), il lavoro corrente è sempre contrassegnato con a +, e il
lavoro precedente con a -. Si riferisce anche a una singola % (senza specifica del lavoro di accompagnamento).
il lavoro attuale.

È possibile utilizzare semplicemente la denominazione di un lavoro per portarlo in primo piano: %1 è sinonimo di `` fg
%1'', portando il lavoro 1 dallo sfondo in primo piano. Allo stesso modo, ``%1 &'' riprende
lavoro 1 in background, equivalente a `` bg %1''.

La shell apprende immediatamente ogni volta che un lavoro cambia stato. Normalmente, bash aspetta fino a quando
sta per stampare un messaggio prima di segnalare le modifiche allo stato di un lavoro in modo da non farlo
interrompere qualsiasi altra uscita. Se la -b opzione per il set il comando integrato è abilitato, bash
segnala immediatamente tali modifiche. Qualsiasi trappola SIGCHLD viene eseguito per ogni bambino che
esce.

Se un tentativo di uscire bash viene eseguito mentre i lavori sono interrotti (o, se il lavori di controllo conchiglia
l'opzione è stata abilitata utilizzando l' negozio builtin, in esecuzione), la shell stampa un avviso
messaggio e, se il lavori di controllo è abilitata, elenca i lavori e i relativi stati. Il
posti di lavoro il comando può quindi essere utilizzato per ispezionare il loro stato. Se è un secondo tentativo di uscita
fatto senza un comando intermedio, la shell non stampa un altro avviso e nessuno
i lavori interrotti vengono terminati.

SUGGERIMENTO


Quando si esegue in modo interattivo, bash visualizza il prompt principale PS1 quando è pronto
leggere un comando e il prompt secondario PS2 quando ha bisogno di più input per completare a
comando. Bash consente di personalizzare queste stringhe di prompt inserendo un numero di
caratteri speciali con escape barra rovesciata che vengono decodificati come segue:
\a un carattere campanello ASCII (07)
\d la data nel formato "Data mese giorno feriale" (ad es. "Martedì 26 maggio")
\D{formato}
, il formato è passato a strftime(3) e il risultato viene inserito nel
stringa di richiesta; un vuoto formato risulta in un'ora specifica per località
rappresentazione. Le parentesi graffe sono obbligatorie
\e un carattere di escape ASCII (033)
\h il nome host fino al primo `.'
\H il nome host
\j il numero di lavori attualmente gestiti dalla shell
\l il nome di base del nome del dispositivo terminale della shell
\n nuova linea
\r ritorno a capo
\s il nome della shell, il nome di base di $0 (la parte successiva alla finale
barra)
\t l'ora corrente nel formato 24 ore HH:MM:SS
\T l'ora corrente nel formato 12 ore HH:MM:SS
\@ l'ora corrente nel formato 12 ore am/pm
\A l'ora corrente nel formato 24 ore HH:MM
\u il nome utente dell'utente corrente
\v la versione di bash (ad es. 2.00)
\V il rilascio di bash, versione + livello di patch (ad es. 2.00.0)
\w la directory di lavoro corrente, con $ HOME abbreviato con una tilde (usa il
valore del PROMPT_DIRTRIM variabile)
\W il nome di base della directory di lavoro corrente, con $ HOME abbreviato con a
tilde
\! il numero di cronologia di questo comando
\# il numero di comando di questo comando
\$ se l'UID effettivo è 0, a #, altrimenti a $
\nnn il carattere corrispondente al numero ottale nnn
\\ una barra rovesciata
\[ iniziare una sequenza di caratteri non stampabili, che potrebbe essere utilizzata per incorporare a
sequenza di controllo del terminale nel prompt
\] termina una sequenza di caratteri non stampabili

Il numero di comando e il numero di cronologia sono generalmente diversi: il numero di cronologia di a
comando è la sua posizione nell'elenco della cronologia, che può includere comandi ripristinati da
archivio storico (vedi STORIA sotto), mentre il numero del comando è la posizione nella sequenza
di comandi eseguiti durante la sessione di shell corrente. Dopo che la stringa è stata decodificata, lo è
ampliato tramite espansione dei parametri, sostituzione dei comandi, espansione aritmetica e virgolette
rimozione, fermo restando il valore del promptvars opzione shell (vedi la descrizione di
negozio comando sotto SHELL COSTRUZIONE COMANDI sotto).

LINEA DI LETTURA


Questa è la libreria che gestisce la lettura dell'input quando si utilizza una shell interattiva, a meno che il
--nessuna modifica l'opzione è data all'invocazione della shell. La modifica della linea viene utilizzata anche quando si utilizza il
-e opzione per il read incorporato. Per impostazione predefinita, i comandi di modifica della riga sono simili a quelli
di Emacs. È inoltre disponibile un'interfaccia di modifica della linea in stile vi. La modifica della linea può essere
abilitato in qualsiasi momento utilizzando il -o emacs or -o vi opzioni per il set incorporato (vedi SHELL
COSTRUZIONE COMANDI qui di seguito). Per disattivare la modifica della linea dopo che la shell è in esecuzione, utilizzare il +o
emacs or +o vi opzioni per il set incorporato.

Readline notazione
In questa sezione, la notazione in stile Emacs viene utilizzata per denotare le sequenze di tasti. I tasti di controllo sono
indicato con C-chiave, ad esempio, Cn significa Control-N. Allo stesso modo, arrivo i tasti sono indicati da M-chiave,
quindi Mx significa Meta-X. (Su tastiere senza a arrivo chiave, M-x significa ESC x, cioè premere il
Tasto Esc quindi il x chiave. Questo rende ESC il arrivo prefisso. La combinazione MC-x si intende
Controllo ESC-xo premere il tasto Esc, quindi tenere premuto il tasto Ctrl mentre si preme il tasto x
chiave.)

I comandi Readline possono essere dati numerici argomenti, che normalmente agiscono come un conteggio delle ripetizioni.
A volte, però, è il segno dell'argomento ad essere significativo. Passando un
argomento negativo per un comando che agisce in avanti (es. linea di morte) cause
quel comando di agire in una direzione all'indietro. Comandi il cui comportamento con argomenti
si discosta da questo sono indicati di seguito.

Quando un comando è descritto come uccisione testo, il testo cancellato viene salvato per un possibile futuro
recupero (strattone). Il testo ucciso viene salvato in a kill anello. Causa di uccisioni consecutive
il testo da accumulare in un'unica unità, che può essere strappata tutta in una volta. Comandi che
non uccidere il testo separare i blocchi di testo sul kill ring.

Readline Inizializzazione
Readline è personalizzato inserendo i comandi in un file di inizializzazione (il inputrc file).
Il nome di questo file è preso dal valore di INGRESSORC variabile. Se quella variabile
non è impostato, l'impostazione predefinita è ~ / .inputrc. Quando un programma che utilizza la libreria readline
si avvia, viene letto il file di inizializzazione e vengono impostate le associazioni di tasti e le variabili.
Ci sono solo alcuni costrutti di base consentiti nel file di inizializzazione readline. Vuoto
le righe vengono ignorate. Righe che iniziano con a # sono commenti Righe che iniziano con a $
indicare costrutti condizionali. Altre righe denotano associazioni di tasti e impostazioni variabili.

Le associazioni di tasti predefinite possono essere modificate con un inputrc file. Altri programmi che utilizzano
questa libreria può aggiungere i propri comandi e associazioni.

Ad esempio, il posizionamento

M-Control-u: argomento-universale
or
C-Meta-u: argomento-universale
nella inputrc farebbe eseguire a MCu il comando readline argomento-universale.

Vengono riconosciuti i seguenti nomi di caratteri simbolici: CANCELLARE, IL, ESC, LFD, NUOVA LINEA,
RET, RITORNO, SPC, SPACEe TAB.

Oltre ai nomi dei comandi, readline consente di associare le chiavi a una stringa
inserito alla pressione del tasto (a macro).

Readline Le Associazioni
La sintassi per il controllo delle associazioni di tasti in inputrc file è semplice. Tutto ciò che è
richiesto è il nome del comando o il testo di una macro e una sequenza di tasti a cui si riferisce
dovrebbe essere legato. Il nome può essere specificato in due modi: come nome di una chiave simbolica,
possibilmente con meta- or Controllo- prefissi o come sequenza di tasti.

Quando si utilizza il modulo nome chiave:nome-funzione or macro, nome chiave è il nome di una chiave scritta
fuori in inglese. Per esempio:

Control-u: argomento-universale
Meta-Rubout: parola morta all'indietro
Control-o: "> uscita"

Nell'esempio sopra, Cu è legato alla funzione argomento-universale, M-DEL è vincolato a
la funzione kill-word all'indietroe Co è obbligato a eseguire la macro espressa a destra
lato della mano (cioè per inserire il testo ``> output'' nella riga).

Nella seconda forma, "keyseq":nome-funzione or macro, chiaviseq differisce dalla nome chiave sopra dentro
che le stringhe che denotano un'intera sequenza di tasti possono essere specificate posizionando la sequenza
tra virgolette. È possibile utilizzare alcuni tasti di escape in stile GNU Emacs, come di seguito
esempio, ma i nomi dei caratteri simbolici non vengono riconosciuti.

"\Cu": argomento-universale
"\Cx\Cr": rileggere il file init
"\e[11~": "Tasto funzione 1"

In questo esempio, Cu è di nuovo legato alla funzione argomento-universale. Cx Cr è legato
alla funzione rileggere il file inite ESC [ 1 1 ~ è obbligato a inserire il testo ``Funzione
Tasto 1''.

L'insieme completo delle sequenze di escape in stile GNU Emacs è
\C- prefisso di controllo
\M- meta prefisso
\e un personaggio di fuga
\\ backslash
\" letterale "
\' letterale '

Oltre alle sequenze di escape in stile GNU Emacs, esiste una seconda serie di escape con barra rovesciata
disponibile:
\a avviso (campanello)
\b backspace
\d delete
\f feed di moduli
\n nuova linea
\r ritorno a capo
\t tab orizzontale
\v tab verticale
\nnn il carattere a otto bit il cui valore è il valore ottale nnn (da uno a tre
cifre)
\xHH il carattere a otto bit il cui valore è il valore esadecimale HH (uno o due
cifre esadecimali)

Quando si inserisce il testo di una macro, è necessario utilizzare virgolette singole o doppie per indicare a
definizione macro. Si presume che il testo senza virgolette sia un nome di funzione. Nel corpo macro, il
gli escape barra rovesciata descritti sopra vengono espansi. La barra rovesciata citerà qualsiasi altro carattere
nel testo della macro, inclusi " e '.

Bash consente di visualizzare o modificare le associazioni dei tasti readline correnti con il legare
comando integrato. La modalità di modifica può essere cambiata durante l'uso interattivo utilizzando il -o
opzione per il set comando integrato (vedi SHELL COSTRUZIONE COMANDI sotto).

Readline Variabili
Readline ha variabili che possono essere utilizzate per personalizzare ulteriormente il suo comportamento. Una variabile può
essere impostato nel inputrc file con una dichiarazione del modulo

set nome-variabile APPREZZIAMO

Tranne dove indicato, le variabili readline possono assumere i valori On or sconto (senza riguardo
Astuccio). I nomi delle variabili non riconosciute vengono ignorati. Quando viene letto un valore variabile, vuoto o
valori null, "on" (senza distinzione tra maiuscole e minuscole) e "1" sono equivalenti a On. Tutti gli altri valori lo sono
equivalente sconto. Le variabili e i loro valori predefiniti sono:

a campana (udibile)
Controlla cosa succede quando readline vuole suonare il campanello del terminale. Se impostato su
nessuna, readline non suona mai il campanello. Se impostato su visibile, readline utilizza un visibile
campanello se disponibile. Se impostato su udibile, readline tenta di squillare il
campanello del terminale.
bind-tty-caratteri-speciali (Sopra)
Se impostato su On, readline tenta di associare i caratteri di controllo trattati in modo speciale da
il driver del terminale del kernel ai loro equivalenti readline.
statistiche colorate (Disattivato)
Se impostato su On, readline visualizza i possibili completamenti utilizzando colori diversi per
indicare il loro tipo di file. Le definizioni dei colori sono ricavate dal valore di
LS_COLORI variabile d'ambiente.
commento-inizio (``#'')
La stringa che viene inserita quando readline inserire-commento comando viene eseguito.
Questo comando è vincolato a M-# in modalità emacs e a # in modalità di comando vi.
completamento-ignora-caso (Disattivato)
Se impostato su On, readline esegue la corrispondenza e il completamento dei nomi dei file in a
moda senza distinzione tra maiuscole e minuscole.
completamento-prefisso-lunghezza di visualizzazione (0)
La lunghezza in caratteri del prefisso comune di un elenco di possibili completamenti
che viene visualizzato senza modifiche. Se impostato su un valore maggiore di zero,
i prefissi comuni più lunghi di questo valore vengono sostituiti con i puntini di sospensione quando
visualizzazione dei possibili completamenti.
elementi di query di completamento (100)
Questo determina quando l'utente viene interrogato sulla visualizzazione del numero di possibili
completamenti generati dal possibili completamenti comando. Può essere impostato su qualsiasi
valore intero maggiore o uguale a zero. Se il numero di possibili completamenti
è maggiore o uguale al valore di questa variabile, all'utente viene chiesto se
o meno desidera visionarli; altrimenti sono semplicemente elencati sul terminale.
convertire-meta (Sopra)
Se impostato su On, readline converte i caratteri con l'ottavo bit impostato in ASCII
sequenza di tasti eliminando l'ottavo bit e anteponendo un carattere di escape (in
effetto, usando escape come arrivo prefisso).
Disabilita-completamento (Disattivato)
Se impostato su On, readline inibisce il completamento delle parole. Lo saranno i personaggi di completamento
inseriti nella riga come se fossero stati mappati auto-inserimento.
modalità di modifica (emac)
Controlla se readline inizia con un set di associazioni di tasti simili a Emacs or vi.
modalità di modifica può essere impostato su entrambi emacs or vi.
caratteri di controllo dell'eco (Sopra)
Quando impostato su On, sui sistemi operativi che indicano di supportarlo, readline fa eco
un carattere corrispondente ad un segnale generato dalla tastiera.
abilita-tastiera (Disattivato)
Quando impostato su On, readline proverà ad abilitare la tastiera dell'applicazione quando lo è
chiamata. Alcuni sistemi ne hanno bisogno per abilitare i tasti freccia.
abilita-meta-chiave (Sopra)
Quando impostato su On, readline proverà ad abilitare qualsiasi meta chiave di modifica del terminale
pretende di sostenere quando viene chiamato. Su molti terminali viene utilizzata la chiave meta
inviare caratteri a otto bit.
espandere-tilde (Disattivato)
Se impostato su On, l'espansione della tilde viene eseguita quando readline tenta di completare la parola.
punto di conservazione della storia (Disattivato)
Se impostato su On, il codice cronologia tenta di posizionare un punto nella stessa posizione su ciascuno
riga della cronologia recuperata con storia precedente or storia successiva.
dimensione della storia (0)
Impostare il numero massimo di voci della cronologia salvate nell'elenco della cronologia. Se impostato su
zero, tutte le voci della cronologia esistenti vengono eliminate e nessuna nuova voce viene salvata. Se
impostato su un valore inferiore a zero, il numero di voci della cronologia non è limitato. Di
predefinito, il numero di voci della cronologia non è limitato.
modalità di scorrimento orizzontale (Disattivato)
Quando impostato su On, fa in modo che readline utilizzi una singola riga per la visualizzazione, scorrendo l'input
orizzontalmente su una singola riga dello schermo quando diventa più lungo della larghezza dello schermo
piuttosto che passare a una nuova riga.
input-meta (Disattivato)
Se impostato su On, readline abiliterà l'input a otto bit (ovvero, non rimuoverà il file
bit alto dai caratteri che legge), indipendentemente da ciò che il terminale afferma
può supportare. Il nome meta-bandiera è sinonimo di questa variabile.
isearch-terminatori (``C-[C-J'')
La stringa di caratteri che dovrebbe terminare una ricerca incrementale senza
successivamente eseguendo il personaggio come comando. Se questa variabile non è stata
dato un valore, i caratteri ESC ed CJ terminerà una ricerca incrementale.
mappa dei tasti (emac)
Imposta la mappa dei tasti di readline corrente. L'insieme di nomi di mappe di chiavi validi è emacs,
standard emacs, emacs-meta, emacs-ctlx, vi, vi-comandoe vi-inserire. vi is
equivalente vi-comando; emacs è equivalente standard emacs. Il valore predefinito
is emacs; il valore di modalità di modifica influisce anche sulla mappa dei tasti predefinita.
keyseq-timeout (500)
Specifica la durata readline aspetterà un personaggio durante la lettura di un ambiguo
sequenza di tasti (quella che può formare una sequenza di tasti completa utilizzando l'input read so
lontano, o può richiedere input aggiuntivi per completare una sequenza di tasti più lunga). Se nessun input
viene ricevuto entro il timeout, readline utilizzerà la chiave più breve ma completa
sequenza. Il valore è specificato in millisecondi, quindi un valore di 1000 lo significa
readline attenderà un secondo per ulteriori input. Se questa variabile è impostata su a
valore minore o uguale a zero, o a un valore non numerico, readline aspetterò
finché non viene premuto un altro tasto per decidere quale sequenza di tasti completare.
mark-directory (Sopra)
Se impostato su On, i nomi di directory completati hanno una barra aggiunta.
linee modificate (Disattivato)
Se impostato su On, le righe della cronologia che sono state modificate vengono visualizzate con un precedente
asterisco (*).
mark-symlinked-directory (Disattivato)
Se impostato su On, i nomi completati che sono collegamenti simbolici alle directory hanno una barra
allegato (soggetto al valore di mark-directory).
match-file-nascosti (Sopra)
Questa variabile, se impostata su On, fa in modo che readline corrisponda ai file i cui nomi iniziano
con un `.' (file nascosti) durante l'esecuzione del completamento del nome file. Se impostato su sconto, le
principale `.' deve essere fornito dall'utente nel nome del file da completare.
menu-completo-visualizzazione-prefisso (Disattivato)
Se impostato su On, il completamento del menu visualizza il prefisso comune dell'elenco dei possibili
completamenti (che possono essere vuoti) prima di scorrere l'elenco.
output-meta (Disattivato)
Se impostato su On, readline visualizzerà i caratteri con l'ottavo bit impostato direttamente
piuttosto che come una sequenza di escape con metaprefisso.
completamenti di pagina (Sopra)
Se impostato su On, readline utilizza un internal Scopri di più-like pager per visualizzare una schermata di
possibili completamenti alla volta.
stampa-completamenti-orizzontale (Disattivato)
Se impostato su On, readline visualizzerà i completamenti con le corrispondenze ordinate orizzontalmente
ordine alfabetico, piuttosto che lungo lo schermo.
ripristina-tutto-a-nuova riga (Disattivato)
Se impostato su On, readline annullerà tutte le modifiche alle righe della cronologia prima di tornare quando
accettare-line viene eseguito. Per impostazione predefinita, le righe della cronologia possono essere modificate e conservate
elenchi di annullamento individuali tra le chiamate a readline.
mostra tutto se ambiguo (Disattivato)
Ciò altera il comportamento predefinito delle funzioni di completamento. Se impostato su On, parole
che hanno più di un possibile completamento fanno sì che le corrispondenze vengano elencate
subito invece di suonare il campanello.
mostra tutto se non modificato (Disattivato)
Questo altera il comportamento predefinito delle funzioni di completamento in modo simile
a mostra tutto se ambiguo. Se impostato su On, parole che ne hanno più di una possibile
completamento senza alcun possibile completamento parziale (gli eventuali completamenti no
condividere un prefisso comune) fa in modo che le corrispondenze vengano elencate immediatamente invece di
suonare il campanello.
mostra-modalità-in-prompt (Disattivato)
Se impostato su On, aggiungi un carattere all'inizio del prompt che indica la modifica
modalità: emacs (@), comando vi (:) o inserimento vi (+).
salta-testo-completato (Disattivato)
Se impostato su On, questo altera il comportamento di completamento predefinito quando si inserisce un singolo
combaciare nella linea. È attivo solo quando si esegue il completamento nel mezzo di
una parola. Se abilitato, readline non inserisce caratteri dal completamento che
abbina i caratteri dopo i punti della parola in fase di completamento, quindi parti della parola
dopo il cursore non sono duplicati.
statistiche-visibili (Disattivato)
Se impostato su On, un carattere che indica il tipo di file come riportato da stat(2) è allegato
al nome del file quando elenca i possibili completamenti.

Readline Condizionale Costruisce
Readline implementa una struttura simile nello spirito alle funzionalità di compilazione condizionale
del preprocessore C che consente di eseguire associazioni di tasti e impostazioni variabili come
il risultato delle prove. Sono utilizzate quattro direttive del parser.

$se I $se build consente di creare associazioni in base alla modalità di modifica, il
terminale in uso o l'applicazione che utilizza readline. Il testo della prova
si estende fino alla fine della linea; non sono necessari caratteri per isolarlo.

modo I modalità= forma del $se La direttiva viene utilizzata per verificare se readline è in
emacs o modalità vi. Questo può essere utilizzato in combinazione con il set mappa dei tasti
comando, ad esempio, per impostare i collegamenti nel file standard emacs ed emacs-ctlx
keymaps solo se readline inizia in modalità emacs.

termine I termine= il modulo può essere utilizzato per includere associazioni di tasti specifiche del terminale,
forse per associare le sequenze di tasti emesse dai tasti funzione del terminale.
La parola sul lato destro del = viene testato rispetto al nome completo di entrambi
il terminale e la parte del nome del terminale prima del primo -. Questo
consente sole per abbinare entrambi sole ed sole-cmd, Per esempio.

applicazione
I applicazione costrutto viene utilizzato per includere impostazioni specifiche dell'applicazione.
Ogni programma che utilizza la libreria readline imposta il applicazione Nome, E un
il file di inizializzazione può verificare un valore particolare. Questo potrebbe essere usato per
associare sequenze di tasti a funzioni utili per un programma specifico. Per
esempio, il comando seguente aggiunge una sequenza di tasti che cita la corrente
o la parola precedente in bash:

$se Bash
# Cita la parola attuale o precedente
"\C-xq": "\eb\"\ef\""
$endif

$endif Questo comando, come visto nell'esempio precedente, termina an $se comando.

$altro Comandi in questo ramo del $se vengono eseguite se il test ha esito negativo.

$ incl
Questa direttiva accetta un singolo nome di file come argomento e legge i comandi e
collegamenti da quel file. Ad esempio, si leggerebbe la seguente direttiva
/ etc / inputrc:

$ incl / etc / inputrc

Ricerca
Readline fornisce comandi per la ricerca nella cronologia dei comandi (vedi STORIA di seguito)
per le righe contenenti una stringa specificata. Sono disponibili due modalità di ricerca: incrementale ed non-
incrementale.

Le ricerche incrementali iniziano prima che l'utente abbia finito di digitare la stringa di ricerca. Come ciascuno
carattere della stringa di ricerca viene digitato, readline visualizza la voce successiva dalla cronologia
corrispondente alla stringa digitata finora. Una ricerca incrementale richiede solo tanti caratteri
come necessario per trovare la voce della cronologia desiderata. I caratteri presenti nel valore del
isearch-terminatori le variabili vengono utilizzate per terminare una ricerca incrementale. Se quello
alla variabile non è stato assegnato un valore, i caratteri Escape e Control-J termineranno
una ricerca incrementale. Control-G interromperà una ricerca incrementale e ripristinerà il file
linea originale. Al termine della ricerca, la voce della cronologia contenente la ricerca
string diventa la riga corrente.

Per trovare altre voci corrispondenti nell'elenco della cronologia, digita Control-S o Control-R come
adeguata. Questo cercherà indietro o avanti nella cronologia per la voce successiva
corrispondente alla stringa di ricerca digitata finora. Qualsiasi altra sequenza di tasti associata a una riga di lettura
comando terminerà la ricerca ed eseguirà quel comando. Ad esempio, a nuova linea volere
terminare la ricerca e accettare la riga, eseguendo così il comando dalla cronologia
elenco.

Readline ricorda l'ultima stringa di ricerca incrementale. Se vengono digitati due Control-R
senza caratteri intermedi che definiscono una nuova stringa di ricerca, qualsiasi ricerca ricordata
viene utilizzata una stringa.

Le ricerche non incrementali leggono l'intera stringa di ricerca prima di iniziare a cercare
linee di storia corrispondenti. La stringa di ricerca può essere digitata dall'utente o far parte del file
contenuto della riga corrente.

Readline Comando nomi
Di seguito è riportato un elenco dei nomi dei comandi e delle sequenze di tasti predefinite per
cui sono legati. I nomi dei comandi senza una sequenza di tasti di accompagnamento non sono vincolati da
predefinito. Nelle seguenti descrizioni, punto si riferisce alla posizione corrente del cursore, e
marchio si riferisce a una posizione del cursore salvata dal set-mark comando. Il testo tra il
point and mark è indicato come il regione.

Comandi per In movimento
inizio riga (Circa)
Spostarsi all'inizio della riga corrente.
fine linea (Ce)
Vai alla fine della linea.
avanti-char (Cfr)
Avanza di un personaggio.
carattere all'indietro (Cb)
Torna indietro di un personaggio.
avanti-parola (Mf)
Passa alla fine della parola successiva. Le parole sono composte da alfanumerico
caratteri (lettere e cifre).
parola all'indietro (Mb)
Torna all'inizio della parola corrente o precedente. Le parole sono composte da
caratteri alfanumerici (lettere e cifre).
shell-forward-parola
Passa alla fine della parola successiva. Le parole sono delimitate da shell senza virgolette
metacaratteri.
shell-backward-parola
Torna all'inizio della parola corrente o precedente. Le parole sono delimitate da
metacaratteri della shell non tra virgolette.
schermo pulito (Cl)
Cancella lo schermo lasciando la riga corrente nella parte superiore dello schermo. Con un
argomento, aggiorna la riga corrente senza cancellare lo schermo.
ridisegna-linea-corrente
Aggiorna la riga corrente.

Comandi per Manipolazione , il Storia
accettare-line (Nuova linea, Ritorno)
Accetta la riga indipendentemente da dove si trova il cursore. Se questa riga non è vuota, aggiungi
nell'elenco della cronologia in base allo stato del CONTROLLO STORICO variabile. Se la
riga è una riga della cronologia modificata, quindi ripristina la riga della cronologia al suo originale
stato.
storia precedente (Cp)
Recupera il comando precedente dall'elenco della cronologia, tornando indietro nell'elenco.
storia successiva (Cn)
Recupera il comando successivo dall'elenco della cronologia, andando avanti nell'elenco.
inizio-storia (M-<)
Passa alla prima riga della cronologia.
fine della storia (M->)
Spostarsi alla fine della cronologia di immissione, ovvero la riga attualmente in fase di immissione.
cronologia di ricerca inversa (Cr)
Cerca all'indietro partendo dalla riga corrente e spostandosi "su" nella cronologia come
necessario. Questa è una ricerca incrementale.
cronologia di ricerca in avanti (C)
Cerca in avanti partendo dalla riga corrente e spostandosi "verso il basso" nella cronologia
come necessario. Questa è una ricerca incrementale.
cronologia della ricerca inversa non incrementale (Mp)
Cerca all'indietro nella cronologia partendo dalla riga corrente utilizzando un
ricerca incrementale di una stringa fornita dall'utente.
cronologia della ricerca in avanti non incrementale (Mn)
Cerca in avanti nella cronologia utilizzando una ricerca non incrementale per una stringa
fornito dall'utente.
storia-ricerca-avanti
Cerca in avanti nella cronologia per la stringa di caratteri tra l'inizio
della retta corrente e del punto. Questa è una ricerca non incrementale.
ricerca-storia-indietro
Cerca all'indietro nella cronologia la stringa di caratteri tra l'inizio
della retta corrente e del punto. Questa è una ricerca non incrementale.
yank-ennesimo-arg (MCy)
Inserisci il primo argomento nel comando precedente (di solito la seconda parola nel comando
riga precedente) al punto. Con un argomento n, inserisci il file nesima parola dalla precedente
comando (le parole del comando precedente iniziano con la parola 0). Un argomento negativo
inserisce il nesima parola dalla fine del comando precedente. Una volta l'argomento n is
calcolato, l'argomento viene estratto come se il "!n"l'espansione della storia era stata
specificato.
yank-ultimo-arg (M-., M-_)
Inserisci l'ultimo argomento nel comando precedente (l'ultima parola del comando precedente
voce della cronologia). Con un argomento numerico, comportati esattamente come yank-ennesimo-arg.
Chiamate successive a yank-ultimo-arg tornare indietro nell'elenco della cronologia, inserendo il file
ultima parola (o la parola specificata dall'argomento della prima chiamata) di ogni riga in
giro. Qualsiasi argomento numerico fornito a queste chiamate successive determina il
direzione per muoversi nella storia. Un argomento negativo cambia la direzione
attraverso la storia (avanti o indietro). Vengono utilizzate le strutture di espansione della storia
per estrarre l'ultima parola, come se fosse stata specificata l'espansione della cronologia "!$".
linea di espansione della shell (MCe)
Espandi la linea come fa la shell. Questo esegue l'alias e l'espansione della cronologia come
così come tutte le espansioni delle parole della shell. Vedere STORIA ESPANSIONE sotto per a
descrizione dell'espansione della storia.
cronologia-espansione-linea (M-^)
Esegui l'espansione della cronologia sulla riga corrente. Vedere STORIA ESPANSIONE sotto per a
descrizione dell'espansione della storia.
spazio-magico
Esegui l'espansione della cronologia sulla riga corrente e inserisci uno spazio. Vedere STORIA
ESPANSIONE di seguito per una descrizione dell'espansione della storia.
alias-espandi-linea
Esegui l'espansione dell'alias sulla riga corrente. Vedere ALIAS sopra per una descrizione
di espansione alias.
cronologia-e-alias-expand-line
Esegui l'espansione della cronologia e dell'alias sulla riga corrente.
inserire-ultimo-argomento (M-., M-_)
Un sinonimo di yank-ultimo-arg.
operare-and-ottenere-successivo (Co)
Accetta la riga corrente per l'esecuzione e recupera la riga successiva relativa a
riga corrente dalla cronologia per la modifica. Qualsiasi argomento viene ignorato.
comando di modifica ed esecuzione (CxC-e)
Richiama un editor sulla riga di comando corrente ed esegui il risultato come shell
comandi. Bash tenta di invocare $VISIVO, $ EDITORe emacs come editore, in
quell'ordine.

Comandi per Cambiare Testo
fine del file (Solitamente Cd)
Il carattere che indica la fine del file come impostato, ad esempio, da ``stty''. Se questo
il carattere viene letto quando non ci sono caratteri sulla riga e il punto è in corrispondenza di
all'inizio della riga, Readline lo interpreta come la fine dell'input e restituisce EOF.
cancella-char (Cd)
Elimina il carattere al punto. Se questa funzione è vincolata allo stesso carattere di
il tty EOF personaggio, come CD comunemente è, vedi sopra per gli effetti.
back-delete-char (Cancellare)
Elimina il carattere dietro il cursore. Quando viene fornito un argomento numerico, salva il file
testo cancellato sul kill ring.
avanti-indietro-cancella-carattere
Elimina il carattere sotto il cursore, a meno che il cursore non sia alla fine della riga,
in tal caso il carattere dietro il cursore viene cancellato.
inserto-citato (Cq, CV)
Aggiungi il carattere successivo digitato alla riga testualmente. Ecco come inserire
personaggi come Cq, per esempio.
inserto a schede (CV TABELLA)
Inserisci un carattere di tabulazione.
auto-inserimento (un, b, A, 1, !, ...)
Inserisci il carattere digitato.
caratteri di trasposizione (Ct)
Trascina il carattere prima di puntare in avanti sul carattere nel punto, spostando il punto
anche avanti. Se il punto è alla fine della linea, questo traspone i due
caratteri prima del punto. Gli argomenti negativi non hanno effetto.
trasporre-parole (Mt)
Trascina la parola prima del punto oltre la parola dopo il punto, spostando il punto sopra quella parola
anche. Se il punto è alla fine della riga, questo traspone le ultime due parole
la linea.
parola maiuscola (Mu)
In maiuscolo la parola corrente (o successiva). Con un argomento negativo, maiuscolo il
parola precedente, ma non spostare il punto.
downcase-parola (ml)
Minuscola la parola corrente (o successiva). Con un argomento negativo, minuscolo il
parola precedente, ma non spostare il punto.
maiuscolo-parola (Mc)
Scrivi in ​​maiuscolo la parola corrente (o successiva). Con un argomento negativo, capitalizzare
la parola precedente, ma non spostare il punto.
modalità di sovrascrittura
Attiva/disattiva la modalità di sovrascrittura. Con un argomento numerico positivo esplicito, passa a
modalità di sovrascrittura. Con un argomento numerico esplicito non positivo, passa a inserire
modalità. Questo comando ha effetto solo emacs modalità; vi la modalità sovrascrive in modo diverso.
Ogni chiamata a linea di lettura() si avvia in modalità di inserimento. In modalità di sovrascrittura, i caratteri sono vincolati
a auto-inserimento sostituire il testo in un punto anziché spingerlo a destra.
Personaggi legati a back-delete-char sostituire il carattere prima del punto con a
spazio. Per impostazione predefinita, questo comando non è associato.

Uccisione ed strattoni
linea di morte (Ck)
Elimina il testo dal punto alla fine della riga.
linea-uccisione-indietro (Cx Cancellare)
Uccidi all'indietro fino all'inizio della linea.
unix-line-scarto (C)
Uccidi all'indietro dal punto all'inizio della linea. Il testo ucciso viene salvato
l'anello mortale.
uccidere tutta la linea
Uccidi tutti i personaggi sulla riga corrente, non importa dove si trovi il punto.
parola d'ordine (Md)
Uccidi da un punto alla fine della parola corrente o, se tra le parole, fino alla fine di
la parola successiva. I limiti delle parole sono gli stessi utilizzati da avanti-parola.
kill-word all'indietro (M-Esclusione)
Uccidi la parola dietro il punto. I limiti delle parole sono gli stessi utilizzati da
parola all'indietro.
shell-kill-parola (Md)
Uccidi da un punto alla fine della parola corrente o, se tra le parole, fino alla fine di
la parola successiva. I limiti delle parole sono gli stessi utilizzati da shell-forward-parola.
shell-backward-kill-word (M-Esclusione)
Uccidi la parola dietro il punto. I limiti delle parole sono gli stessi utilizzati da
shell-backward-parola.
unix-parola-rubout (Cw)
Uccidi la parola dietro il punto, usando lo spazio bianco come limite di parola. Il testo ucciso
viene salvato sul kill-ring.
unix-nome-file-rubout
Uccidi la parola dietro il punto, usando lo spazio bianco e il carattere barra come parola
confini. Il testo ucciso viene salvato sul kill-ring.
cancella-spazio-orizzontale (M-\)
Elimina tutti gli spazi e le schede intorno al punto.
kill-regione
Uccidi il testo nella regione corrente.
copia-regione-come-kill
Copia il testo nella regione nel kill buffer.
copia-indietro-parola
Copia la parola prima del punto nel kill buffer. I confini delle parole sono gli stessi di
parola all'indietro.
copia-inoltro-parola
Copia la parola che segue il punto nel kill buffer. I confini delle parole sono gli stessi
as avanti-parola.
strattone (Cy)
Tira la parte superiore del kill ring nel buffer al punto.
yank-pop (Mio)
Ruota l'anello mortale e tira la nuova cima. Funziona solo in seguito strattone or yank-pop.

Numerico argomenti
argomento-cifra (M-0, M-1, ..., M--)
Aggiungi questa cifra all'argomento già accumulato o inizia un nuovo argomento. M--
avvia un argomento negativo.
argomento-universale
Questo è un altro modo per specificare un argomento. Se questo comando è seguito da uno o
più cifre, opzionalmente con un segno meno iniziale, quelle cifre definiscono il
discussione. Se il comando è seguito da cifre, esecuzione argomento-universale ancora
termina l'argomento numerico, ma per il resto viene ignorato. Come caso speciale, se questo
comando è immediatamente seguito da un carattere che non è né una cifra né un meno
sign, il conteggio degli argomenti per il comando successivo viene moltiplicato per quattro. L'argomento
count è inizialmente uno, quindi l'esecuzione di questa funzione la prima volta rende il
l'argomento conta quattro, una seconda volta fa contare sedici l'argomento e così via.

Completamento
completamento di una (SCHEDA)
Tentativo di completare il testo prima del punto. Bash tentativi di completamento
trattando il testo come una variabile (se il testo inizia con $), nome utente (se il testo
inizia con ~), hostname (se il testo inizia con @) o comando (inclusi gli alias
e funzioni) a loro volta. Se nessuno di questi produce una corrispondenza, il completamento del nome file lo è
tentato.
possibili completamenti (M-?)
Elenca i possibili completamenti del testo prima del punto.
inserimento-completamenti (M-*)
Inserisci tutti i completamenti del testo prima del punto che sarebbe stato generato da
possibili completamenti.
menu-completo
Simile a completamento di una, ma sostituisce la parola da completare con una singola corrispondenza da
l'elenco dei possibili completamenti. Esecuzione ripetuta di menu-completo passi
attraverso l'elenco dei possibili completamenti, inserendo a turno ogni corrispondenza. Alla fine
dell'elenco dei completamenti, viene suonata la campanella (previa impostazione di a campana)
e il testo originale viene ripristinato. Un argomento di n si muove n posizioni in avanti
l'elenco delle partite; un argomento negativo può essere utilizzato per tornare indietro attraverso il
elenco. Questo comando deve essere vincolato a TAB, ma non è vincolato per impostazione predefinita.
menu-completa-indietro
Uguale a menu-completo, ma torna indietro nell'elenco dei possibili
completamenti, come se menu-completo era stato dato un argomento negativo. Questo comando
non è vincolato per impostazione predefinita.
cancella-carattere-o-lista
Cancella il carattere sotto il cursore se non all'inizio o alla fine della riga
(piace cancella-char). Se alla fine della riga, si comporta in modo identico a
possibili completamenti. Questo comando non è vincolato per impostazione predefinita.
nome-file completo (M-/)
Tenta di completare il nome del file sul testo prima del punto.
possibili-completamenti-nome-file (Cx /)
Elenca i possibili completamenti del testo prima del punto, trattandolo come un nome di file.
nome-utente completo (M-~)
Tentare di completare il testo prima del punto, trattandolo come un nome utente.
possibili completamenti del nome utente (Cx ~)
Elenca i possibili completamenti del testo prima del punto, trattandolo come un nome utente.
variabile completa (M-$)
Tentare di completare il testo prima del punto, trattandolo come una variabile di shell.
completamenti-variabili possibili (Cx $)
Elenca i possibili completamenti del testo prima del punto, trattandolo come una shell
variabile.
nome-host completo (M-@)
Tentare di completare il testo prima del punto, trattandolo come un nome host.
possibili completamenti del nome host (Cx @)
Elenca i possibili completamenti del testo prima del punto, trattandolo come un nome host.
comando completo (M-!)
Tentare di completare il testo prima del punto, trattandolo come un nome di comando.
Il completamento del comando tenta di confrontare il testo con alias, parole riservate,
funzioni della shell, interni della shell e infine nomi di file eseguibili, in quest'ordine.
possibili completamenti di comandi (Cx !)
Elenca i possibili completamenti del testo prima del punto, trattandolo come un comando
nome.
dinamica-storia-completa (M-TAB)
Tentare di completare il testo prima del punto, confrontando il testo con le righe da
l'elenco della cronologia per le possibili corrispondenze di completamento.
dabbrev-espandi
Tentare di completare il menu sul testo prima del punto, confrontando il testo con le righe
dall'elenco della cronologia per possibili corrispondenze di completamento.
completo in parentesi graffe (M-{)
Eseguire il completamento del nome del file e inserire l'elenco dei possibili completamenti allegato
tra parentesi graffe in modo che l'elenco sia disponibile per la shell (vedi Bretelle Espansione sopra).

tastiera Macro
start-kbd-macro (Cx ()
Inizia a salvare i caratteri digitati nella macro della tastiera corrente.
fine-kbd-macro (Cx ))
Interrompere il salvataggio dei caratteri digitati nella macro della tastiera corrente e memorizzare il file
definizione.
chiama-ultima-kbd-macro (Cx e)
Riesegui l'ultima macro di tastiera definita, creando i caratteri nella macro
appare come se fosse stato digitato sulla tastiera.
stampa-ultima-kbd-macro ()
Stampa l'ultima macro della tastiera definita in un formato adatto al file inputrc file.

Miscellanea
rileggere il file init (Cx Cr)
Leggi il contenuto del inputrc file e incorporare eventuali associazioni o variabili
incarichi lì trovati.
abortire (Cg)
Annulla il comando di modifica corrente e suona il campanello del terminale (soggetto a
impostazione di a campana).
do-versione maiuscola (Mamma, Mb, M-x, ...)
Se il personaggio metafisato x è minuscolo, eseguire il comando associato a
carattere maiuscolo corrispondente.
prefisso-meta (ESC)
Metafy il prossimo carattere digitato. ESC f è equivalente meta-f.
disfare (C-_, Cx Cu)
Annullamento incrementale, ricordato separatamente per ogni riga.
linea di ritorno (Sig)
Annulla tutte le modifiche apportate a questa riga. Questo è come eseguire il disfare comando abbastanza
volte per riportare la linea allo stato iniziale.
tilde-espandi (M-&)
Esegui l'espansione della tilde sulla parola corrente.
set-mark (C-@, M- )
Metti il ​​segno al punto. Se viene fornito un argomento numerico, il contrassegno viene impostato su
quella posizione.
scambio-punto e segno (Cx Cx)
Scambia il punto con il segno. La posizione corrente del cursore è impostata su quella salvata
posizione e la vecchia posizione del cursore viene salvata come contrassegno.
ricerca di caratteri (C-])
Un carattere viene letto e il punto viene spostato all'occorrenza successiva di quel carattere. UN
il conteggio negativo cerca le occorrenze precedenti.
carattere-ricerca-indietro (MC-])
Viene letto un carattere e il punto viene spostato all'occorrenza precedente
carattere. Un conteggio negativo cerca le occorrenze successive.
salta-csi-sequenza
Leggere abbastanza caratteri per consumare una sequenza multi-chiave come quelle definite per
tasti come Home e End. Tali sequenze iniziano con un indicatore di sequenza di controllo
(CSI), solitamente ESC-[. Se questa sequenza è vincolata a "\[", le chiavi che lo producono
le sequenze non avranno alcun effetto a meno che non siano esplicitamente associate a un comando readline,
invece di inserire caratteri vaganti nel buffer di modifica. Questo non è vincolato da
predefinito, ma solitamente vincolato a ESC-[.
inserire-commento (M-#)
Senza un argomento numerico, il valore della readline commento-inizio la variabile è
inserito all'inizio della riga corrente. Se viene fornito un argomento numerico,
questo comando funge da interruttore: se lo fanno i caratteri all'inizio della riga
non corrisponde al valore di commento-inizio, viene inserito il valore, altrimenti il
personaggi in commento-inizio vengono cancellati dall'inizio della riga. In entrambi
caso, la riga viene accettata come se fosse stata digitata una nuova riga. Il valore predefinito di
commento-inizio fa in modo che questo comando renda la riga corrente un commento della shell. Se una
argomento numerico fa sì che il carattere del commento venga rimosso, la riga lo sarà
eseguito dalla shell.
parola-glob-completa (Mg)
La parola prima del punto viene trattata come un modello per l'espansione del percorso, con an
asterisco aggiunto implicitamente. Questo modello viene utilizzato per generare un elenco di corrispondenze
nomi di file per eventuali completamenti.
glob-espandi-parola (Cx *)
La parola prima del punto viene trattata come un modello per l'espansione del percorso e l'elenco
di nomi di file corrispondenti viene inserita, sostituendo la parola. Se un argomento numerico è
fornito, viene aggiunto un asterisco prima dell'espansione del percorso.
glob-list-espansioni (Cx g)
L'elenco delle espansioni che sarebbero state generate da glob-espandi-parola is
visualizzato e la linea viene ridisegnata. Se viene fornito un argomento numerico, un asterisco
viene aggiunto prima dell'espansione del percorso.
funzioni di dump
Stampa tutte le funzioni e le relative associazioni di tasti nel flusso di output readline.
Se viene fornito un argomento numerico, l'output viene formattato in modo tale che esso
può essere inserito in un inputrc file.
variabili dump
Stampa tutte le variabili readline impostabili e i relativi valori in readline
flusso di uscita. Se viene fornito un argomento numerico, l'output viene formattato in tale
un modo per farne parte di un inputrc file.
dump-macro
Stampa tutte le sequenze di tasti readline legate alle macro e alle loro stringhe
produzione. Se viene fornito un argomento numerico, l'output viene formattato in questo modo
che possa far parte di un inputrc file.
display-shell-versione (Cx CV)
Visualizza le informazioni sulla versione sull'istanza corrente di bash.

Programmabile Completamento
Quando si tenta di completare una parola per un argomento di un comando per il quale è stato eseguito un completamento
specificazione (a comp) è stato definito utilizzando il completamento di una incorporato (vedi SHELL COSTRUZIONE
COMANDI di seguito), vengono richiamate le funzionalità di completamento programmabile.

Innanzitutto, viene identificato il nome del comando. Se la parola di comando è una stringa vuota
(completamento tentato all'inizio di una riga vuota), qualsiasi compspec definito con -E
opzione a completamento di una viene usato. Se è stato definito un compspec per quel comando, il compspec
viene utilizzato per generare l'elenco dei possibili completamenti per la parola. Se la parola di comando è
un percorso completo, viene prima cercato un compspec per il percorso completo. Se non comps
viene trovato per il percorso completo, viene effettuato un tentativo di trovare una compspec per la parte
dopo il taglio finale. Se tali ricerche non danno come risultato un compspec, qualsiasi compspec
definito con il -D opzione a completamento di una viene utilizzato come predefinito.

Una volta trovato un compspec, viene utilizzato per generare l'elenco delle parole corrispondenti. Se una
compspec non è stato trovato, l'impostazione predefinita bash completamento come descritto sopra sotto Completamento is
eseguita.

Innanzitutto, vengono utilizzate le azioni specificate da compspec. Solo le corrispondenze precedute da
vengono restituite le parole in fase di completamento. Quando il -f or -d l'opzione è usata per il nome del file o
completamento del nome della directory, la variabile della shell FIGNO viene utilizzato per filtrare le corrispondenze.

Tutti i completamenti specificati da un modello di espansione del percorso in -G vengono generate opzioni
prossimo. Le parole generate dal modello non devono necessariamente corrispondere alla parola che viene completata. Il
GLOBIGNORE La variabile shell non viene utilizzata per filtrare le corrispondenze, ma la FIGNO la variabile è
Usato.

Successivamente, la stringa specificata come argomento per il -W l'opzione è considerata. La stringa è
prima divisione usando i caratteri in IFS variabile speciale come delimitatori. Citazione della conchiglia
è onorato. Ogni parola viene quindi espansa utilizzando l'espansione delle parentesi graffe, l'espansione della tilde, il parametro
ed espansione di variabili, sostituzione di comandi ed espansione aritmetica, come descritto sopra
per ESPANSIONE. I risultati sono suddivisi utilizzando le regole sopra descritte sotto Word
Scissione. I risultati dell'espansione sono abbinati al prefisso con la parola essere
completato, e le parole corrispondenti diventano i possibili completamenti.

Dopo che queste corrispondenze sono state generate, qualsiasi funzione di shell o comando specificato con
-F ed -C viene richiamata l'opzione. Quando viene richiamato il comando o la funzione, il COMP_LINE,
COMP_PUNTO, COMP_KEYe TIPO_COMP alle variabili vengono assegnati valori come descritto sopra sotto
Conchiglia Variabili. Se viene invocata una funzione di shell, il PAROLE_COMP ed COMP_CWORD
vengono impostate anche le variabili. Quando viene invocata la funzione o il comando, il primo argomento ($1)
è il nome del comando i cui argomenti sono in fase di completamento, il secondo argomento ($2)
è la parola in corso di completamento e il terzo argomento ($3) è la parola che precede la parola
in fase di completamento sulla riga di comando corrente. Nessun filtraggio dei completamenti generati
contro la parola che si compie si compie; la funzione o il comando è stato completato
libertà nel generare le partite.

Qualsiasi funzione specificata con -F viene invocato per primo. La funzione può utilizzare qualsiasi shell
strutture, tra cui il compgen builtin descritto di seguito, per generare le corrispondenze. Esso
deve inserire i possibili completamenti nel COMPRI variabile dell'array, una per elemento dell'array.

Successivamente, qualsiasi comando specificato con -C opzione viene invocata in un ambiente equivalente a
sostituzione del comando. Dovrebbe stampare un elenco di completamenti, uno per riga, sul file
uscita standard. La barra rovesciata può essere utilizzata per sfuggire a una nuova riga, se necessario.

Dopo che tutti i possibili completamenti sono stati generati, qualsiasi filtro specificato con -X
l'opzione viene applicata all'elenco. Il filtro è un modello utilizzato per l'espansione del percorso; un
& nello schema viene sostituito con il testo della parola da completare. Un letterale & può
essere evitato con una barra rovesciata; la barra rovesciata viene rimossa prima di tentare una corrispondenza. Qualsiasi
il completamento che corrisponde al modello verrà rimosso dall'elenco. Un protagonista ! nega
Il modello; in questo caso qualsiasi completamento non corrispondente allo schema verrà rimosso.

Infine, qualsiasi prefisso e suffisso specificato con -P ed -S le opzioni vengono aggiunte a ciascuna
membro dell'elenco di completamento e il risultato viene restituito al codice di completamento readline
come elenco dei possibili completamenti.

Se le azioni precedentemente applicate non generano corrispondenze, e il -o cognomi opzione
è stato fornito a completamento di una quando è stato definito il compspec, il completamento del nome della directory è
tentato.

Se l' -o più dir opzione è stata fornita a completamento di una quando è stata definita la compspec,
viene tentato il completamento del nome della directory e tutte le corrispondenze vengono aggiunte ai risultati di
altre azioni.

Per impostazione predefinita, se viene trovata una compspec, tutto ciò che genera viene restituito al completamento
codice come l'insieme completo dei possibili completamenti. Il predefinito bash i completamenti non lo sono
tentato e l'impostazione predefinita readline del completamento del nome file è disabilitata. Se la -o
bashdefault opzione è stata fornita a completamento di una quando è stata definita la compspec, il bash
i completamenti predefiniti vengono tentati se compspec non genera corrispondenze. Se la -o difetto
opzione è stata fornita a completamento di una quando è stata definita la compspec, readline è l'impostazione predefinita
il completamento verrà eseguito se il compspec (e, se tentato, il default bash
completamenti) non generano corrispondenze.

Quando un compspec indica che si desidera completare il nome della directory, il programmable
le funzioni di completamento forzano readline ad aggiungere una barra ai nomi completati che sono
collegamenti simbolici a directory, soggetti al valore di mark-directory readline
variabile, indipendentemente dall'impostazione di mark-symlinked-directory variabile readline.

C'è del supporto per la modifica dinamica dei completamenti. Questo è più utile quando
utilizzato in combinazione con un completamento predefinito specificato con completamento di una -D. È possibile
per le funzioni di shell eseguite come gestori di completamento per indicare che il completamento dovrebbe essere
riprovato restituendo uno stato di uscita di 124. Se una funzione di shell restituisce 124 e cambia
il compspec associato al comando su cui si sta tentando il completamento (fornito
come primo argomento quando la funzione viene eseguita), il completamento programmabile viene riavviato
dall'inizio, con un tentativo di trovare un nuovo compspec per quel comando. Questo permette
un insieme di completamenti da costruire dinamicamente mentre si tenta di completare, piuttosto che essere
caricato tutto in una volta.

Ad esempio, supponendo che esista una libreria di compspecs, ciascuna conservata in un file
corrispondente al nome del comando, sarebbe la seguente funzione di completamento predefinita
carica i completamenti in modo dinamico:

_completamento_caricatore()
{
. "/etc/completamento_bash.d/$1.sh" >/dev/null 2>&1 && restituisce 124
}
completo -D -F _completion_loader -o bashdefault -o predefinito

STORIA


Quando il -o storia opzione per il set builtin è abilitato, la shell fornisce l'accesso al file
command storia, l'elenco dei comandi digitati in precedenza. Il valore del HISTSIZE
variabile viene utilizzata come numero di comandi da salvare in un elenco cronologico. Il testo del
ultimo HISTSIZE comandi (predefinito 500) viene salvato. La shell memorizza ogni comando nel file
elenco cronologico prima del parametro e dell'espansione delle variabili (vedi ESPANSIONE sopra) ma dopo
viene eseguita l'espansione della cronologia, soggetta ai valori delle variabili della shell ISTIGNORE
ed CONTROLLO STORICO.

All'avvio, la cronologia viene inizializzata dal file denominato dalla variabile ARCHIVIO
(predefinito ~/.bash_history). Il file denominato dal valore di ARCHIVIO è troncato, se
necessario, per contenere non più del numero di righe specificato dal valore di
DIMENSIONE HISTFILE. Se DIMENSIONE HISTFILE non è impostato o è impostato su null, un valore non numerico o numerico
valore inferiore a zero, il file della cronologia non viene troncato. Quando viene letto il file della cronologia,
le righe che iniziano con il carattere di commento della cronologia seguite immediatamente da una cifra sono
interpretato come timestamp per la riga della cronologia precedente. Questi timestamp sono facoltativi
visualizzato a seconda del valore di FORMATO ORA HIST variabile. Quando un guscio con
uscite abilitate alla cronologia, l'ultima $HISTSIZE le righe vengono copiate dall'elenco della cronologia in
$FILEHIST. Se il istappendo l'opzione shell è abilitata (vedi la descrizione di negozio per
SHELL COSTRUZIONE COMANDI sotto), le righe vengono allegate al file storico, altrimenti le
il file della cronologia viene sovrascritto. Se ARCHIVIO non è impostato o se il file della cronologia non è scrivibile,
la cronologia non viene salvata. Se la FORMATO ORA HIST viene impostata la variabile, vengono scritti i timestamp
al file della cronologia, contrassegnato dal carattere di commento della cronologia, in modo che possano essere conservati
tra sessioni di shell. Questo usa il carattere del commento della cronologia per distinguere i timestamp
da altre linee storiche. Dopo aver salvato la cronologia, il file della cronologia viene troncato in
contenere non più di DIMENSIONE HISTFILE Linee. Se DIMENSIONE HISTFILE non è impostato o è impostato su null, un non-
valore numerico o un valore numerico inferiore a zero, il file di cronologia non viene troncato.

Il comando integrato fc (Vedi SHELL COSTRUZIONE COMANDI sotto) può essere utilizzato per elencare o modificare e
rieseguire una parte dell'elenco della cronologia. Il storia builtin può essere utilizzato per visualizzare o
modificare l'elenco della cronologia e manipolare il file della cronologia. Quando si utilizza la modifica della riga di comando,
i comandi di ricerca sono disponibili in ogni modalità di modifica che fornisce l'accesso alla cronologia
elenco.

La shell consente di controllare quali comandi vengono salvati nell'elenco della cronologia. Il
CONTROLLO STORICO ed ISTIGNORE le variabili possono essere impostate in modo che la shell salvi solo un sottoinsieme
dei comandi inseriti. Il cmdist l'opzione shell, se abilitata, fa sì che la shell lo faccia
tentare di salvare ogni riga di un comando su più righe nella stessa voce della cronologia, aggiungendo
punto e virgola ove necessario per preservare la correttezza sintattica. Il litista opzione shell
fa in modo che la shell salvi il comando con nuove righe incorporate anziché punti e virgola. Vedere
la descrizione del negozio integrato sotto sotto SHELL COSTRUZIONE COMANDI per informazioni su
impostazione e disimpostazione delle opzioni della shell.

STORIA ESPANSIONE


La shell supporta una funzione di espansione della cronologia che è simile all'espansione della cronologia in
csh. Questa sezione descrive quali funzionalità di sintassi sono disponibili. Questa funzione è abilitata
di default per le shell interattive e può essere disabilitato usando il +H opzione per il set
comando integrato (vedi SHELL COSTRUZIONE COMANDI qui di seguito). Le shell non interattive non funzionano
espansione della cronologia per impostazione predefinita.

Le espansioni della cronologia introducono le parole dall'elenco della cronologia nel flusso di input, rendendolo
comandi facili da ripetere, inserisci gli argomenti di un comando precedente nell'input corrente
riga o correggere rapidamente gli errori nei comandi precedenti.

L'espansione della cronologia viene eseguita immediatamente dopo la lettura di una riga completa, prima della shell
lo scompone in parole. Si svolge in due parti. Il primo è determinare quale linea
dall'elenco della cronologia da utilizzare durante la sostituzione. Il secondo è selezionare porzioni di
quella linea per l'inclusione in quella attuale. La riga selezionata dalla cronologia è la
evento, e le porzioni di quella linea su cui si agisce sono parole. vario modificatori sono
disponibile per manipolare le parole selezionate. La linea è spezzata in parole nello stesso
moda come quando si legge l'input, in modo che diversi metacarattere-parole separate circondate da
le virgolette sono considerate una parola. Le espansioni della storia sono introdotte dall'apparizione di
il carattere di espansione della storia, che è ! per impostazione predefinita. Solo barra rovesciata (\) e singolo
le virgolette possono citare il carattere dell'espansione della storia.

Diversi personaggi inibiscono l'espansione della storia se trovati immediatamente dopo la storia
carattere di espansione, anche se non tra virgolette: spazio, tabulazione, nuova riga, ritorno a capo e =.
Se l' extglob l'opzione shell è abilitata, ( inibirà anche l'espansione.

Diverse opzioni di shell impostabili con il negozio builtin può essere utilizzato per personalizzare il comportamento
di espansione della storia. Se la verifica l'opzione shell è abilitata (vedi la descrizione di
, il negozio integrato di seguito), e readline viene utilizzato, le sostituzioni della cronologia non lo sono
passato immediatamente al parser della shell. Invece, la linea espansa viene ricaricata nel file
readline buffer di modifica per ulteriori modifiche. Se readline viene utilizzato e il
histreet l'opzione shell è abilitata, verrà ricaricata una sostituzione della cronologia non riuscita
, il readline buffer di modifica per la correzione. Il -p opzione per il storia comando integrato
può essere usato per vedere cosa farà un'espansione della cronologia prima di usarla. Il -s opzione per il
storia builtin può essere usato per aggiungere comandi alla fine dell'elenco della cronologia senza
effettivamente eseguendoli, in modo che siano disponibili per il successivo richiamo.

La shell consente il controllo dei vari caratteri utilizzati dal meccanismo di espansione della cronologia
(vedi la descrizione di Histchar sopra sotto Conchiglia Variabili). La shell utilizza il
carattere di commento della cronologia per contrassegnare i timestamp della cronologia durante la scrittura del file della cronologia.

Evento designatori
Un designatore di evento è un riferimento a una voce della riga di comando nell'elenco della cronologia. A meno che
il riferimento è assoluto, gli eventi sono relativi alla posizione corrente nella cronologia
elenco.

! Inizia una sostituzione della cronologia, tranne quando seguita da a vuoto, nuova riga, carrozza
return, = o ( (quando il extglob l'opzione shell è abilitata usando il negozio incorporato).
!n Fare riferimento alla riga di comando n.
!-n Fare riferimento al comando corrente meno n.
!! Fare riferimento al comando precedente. Questo è un sinonimo di `!-1'.
!stringa
Fare riferimento al comando più recente che precede la posizione corrente nell'elenco della cronologia
Iniziare con stringa.
!?stringa[?]
Fare riferimento al comando più recente che precede la posizione corrente nell'elenco della cronologia
contenente stringa. Il trascinamento ? può essere omesso se stringa viene seguito immediatamente
da una nuova riga.
^string1^string2^
Sostituzione rapida. Ripetere il comando precedente, sostituendo string1 con string2.
Equivalente a ``!!:s/string1/string2/'' (vedere modificatori sotto).
!# L'intera riga di comando digitata finora.

Word designatori
I designatori di parole vengono utilizzati per selezionare le parole desiderate dall'evento. UN : separa l'evento
specificazione dalla parola designatore. Può essere omesso se inizia la parola designatore
con una ^, $, *, -, o %. Le parole sono numerate dall'inizio della riga, con il
prima parola indicata da 0 (zero). Le parole vengono inserite nella riga corrente separate
per singoli spazi.

0 (zero)
La parola zero. Per la shell, questa è la parola di comando.
n I nesima parola.
^ Il primo argomento. Cioè, parola 1.
$ L'ultima parola. Questo è solitamente l'ultimo argomento, ma si espanderà fino allo zero
word se c'è solo una parola nella riga.
% La parola abbinata al più recente `?stringa?' ricerca.
x-y Una gamma di parole; `-y' abbrevia `0-y'.
* Tutte le parole tranne lo zero. Questo è un sinonimo di `1- $'. Non è un errore
usare * se nell'evento è presente una sola parola; la stringa vuota viene restituita
questo caso.
x* Abbrevia x-$.
x- Abbrevia x-$ piace x*, ma omette l'ultima parola.

Se viene fornito un designatore di parola senza una specifica dell'evento, il comando precedente lo è
utilizzato come evento.

modificatori
Dopo il designatore di parola facoltativo, potrebbe apparire una sequenza di uno o più dei
seguenti modificatori, ciascuno preceduto da un `:'.

h Rimuovere un componente del nome file finale, lasciando solo la testa.
t Rimuovi tutti i componenti principali del nome file, lasciando la coda.
r Rimuovere un suffisso finale del modulo . Xxx, lasciando il nome di base.
e Rimuovi tutto tranne il suffisso finale.
p Stampa il nuovo comando ma non eseguirlo.
q Cita le parole sostituite, sfuggendo a ulteriori sostituzioni.
x Cita le parole sostituite come con q, ma rompono in parole a spazi vuoti e nuove righe.
s/vecchio/nuovi/
Sostituire nuovi per la prima occorrenza di vecchio nella riga degli eventi. Qualsiasi delimitatore
può essere utilizzato al posto di /. Il delimitatore finale è facoltativo se è l'ultimo
carattere della riga dell'evento. Il delimitatore può essere citato in vecchio ed nuovi con una
singola barra rovesciata. Se & appare in nuovi, è sostituito da vecchio. Una sola barra rovesciata
citerà il &. Se vecchio è nullo, è impostato all'ultimo vecchio sostituito, o, se n
precedenti sostituzioni avvenute, l'ultima stringa in un !?stringa[?]
ricerca.
& Ripetere la sostituzione precedente.
g Fa sì che le modifiche vengano applicate sull'intera riga dell'evento. Questo è usato in
congiunzione con `:s' (ad esempio, `:gs/vecchio/nuovi/') o `:&'. Se utilizzato con `:s', qualunque
delimitatore può essere utilizzato al posto di / e il delimitatore finale è facoltativo se lo è
l'ultimo carattere della riga dell'evento. Un a può essere usato come sinonimo di g.
G Applicare il seguente `s' modificatore una volta per ogni parola nella riga dell'evento.

SHELL COSTRUZIONE COMANDI


Salvo diversa indicazione, ogni comando integrato documentato in questa sezione come accettante
opzioni precedute da - accetta -- per indicare la fine delle opzioni. Il :, vero, falso,
ed test i builtin non accettano opzioni e non trattano -- appositamente. Il exit, il logout,
rompere, continua, lasciaree spostamento i builtin accettano ed elaborano argomenti che iniziano con -
senza richiedere --. Altri builtin che accettano argomenti ma non sono specificati come
accettando le opzioni interpreta gli argomenti che iniziano con - come opzioni non valide e richiedono --
per impedire questa interpretazione.
: [argomenti]
Nessun effetto; il comando non fa altro che espandere argomenti ed eseguire qualsiasi
reindirizzamenti specificati. Viene restituito un codice di uscita zero.

. Nome del file [argomenti]
source Nome del file [argomenti]
Leggere ed eseguire comandi da Nome del file nell'ambiente shell corrente e ritorno
lo stato di uscita dell'ultimo comando eseguito da Nome del file. Se Nome del file non
contengono una barra, nomi di file in PERCORSO vengono utilizzati per trovare la directory contenente
Nome del file. Il file cercato in PERCORSO non deve essere eseguibile. quando bash non è
in posix modo, viene eseguita la ricerca nella directory corrente se non viene trovato alcun file PERCORSO. Se
, il percorso sorgente opzione per il negozio il comando integrato è disattivato, il PERCORSO non è
cercato. Se c'è argomenti vengono forniti, diventano i parametri posizionali
quando Nome del file viene eseguito. In caso contrario i parametri posizionali rimangono invariati. Il
stato di ritorno è lo stato dell'ultimo comando terminato all'interno dello script (0 se n
vengono eseguiti i comandi) e false if Nome del file non viene trovato o non può essere letto.

alias [-p] [Nome[=APPREZZIAMO] ...]
Alias senza argomenti o con il -p l'opzione stampa l'elenco degli alias nel file
modulo alias Nome=APPREZZIAMO su uscita standard. Quando vengono forniti argomenti, lo è un alias
definito per ciascuno Nome di chi APPREZZIAMO viene data. Uno spazio finale in APPREZZIAMO causa il
parola successiva da controllare per la sostituzione dell'alias quando l'alias viene espanso. Per
ogni Nome nella lista degli argomenti per cui n APPREZZIAMO viene fornito, il nome e il valore
dell'alias viene stampato. Alias restituisce vero a meno che a Nome è dato per il quale n
è stato definito l'alias.

bg [specifica del lavoro ...]
Riprendi ogni lavoro sospeso specifica del lavoro sullo sfondo, come se fosse stato iniziato
&. Se specifica del lavoro non è presente, la nozione della shell di corrente lavoro viene utilizzato. bg
specifica del lavoro restituisce 0 a meno che non venga eseguito quando il controllo del lavoro è disabilitato o, se eseguito con il lavoro
controllo abilitato, qualsiasi specificato specifica del lavoro non è stato trovato o è stato avviato senza lavoro
controllare.

legare [-m mappa dei tasti] [-lpsvPSVX]
legare [-m mappa dei tasti] [-q function] [-u function] [-r chiaviseq]
legare [-m mappa dei tasti] -f Nome del file
legare [-m mappa dei tasti] -x chiaviseq:comando shell
legare [-m mappa dei tasti] chiaviseq:nome-funzione
legare readline-comando
Mostra corrente readline associazioni di tasti e funzioni, associa una sequenza di tasti a a
readline funzione o macro, o impostare a readline variabile. Ogni argomento non opzionale
è un comando come sembrerebbe in .inputrc, ma ogni associazione o comando deve essere
passato come argomento separato; ad esempio, '"\Cx\Cr": rileggi il file di inizializzazione'. Opzioni, se
fornito, hanno i seguenti significati:
-m mappa dei tasti
Usa il mappa dei tasti come mappa dei tasti che sarà influenzata dalle successive associazioni.
Accettabile mappa dei tasti i nomi sono emacs, standard emacs, emacs-meta, emacs-ctlx,
vi, vi-mossa, vi-comandoe vi-inserire. vi è equivalente vi-comando;
emacs è equivalente standard emacs.
-l Elenca i nomi di tutti readline funzioni.
-p Dsiplay readline nomi di funzioni e collegamenti in modo tale che possano essere
riletto.
-P Elenca corrente readline nomi di funzioni e associazioni.
-s Dsiplay readline sequenze di tasti legate alle macro e alle stringhe che emettono
in modo tale da poter essere riletti.
-S Dsiplay readline sequenze di tasti legate alle macro e alle stringhe che emettono.
-v Dsiplay readline nomi e valori delle variabili in modo tale che possano essere
riletto.
-V Elenca corrente readline nomi e valori delle variabili.
-f Nome del file
Leggi le associazioni dei tasti da Nome del file.
-q function
Interroga su quali chiavi richiamano il named function.
-u function
Disassocia tutte le chiavi associate a named function.
-r chiaviseq
Rimuovere qualsiasi associazione corrente per chiaviseq.
-x chiaviseq:comando shell
Causare comando shell da eseguire in qualsiasi momento chiaviseq viene inserito. quando
comando shell viene eseguito, la shell imposta il LEGGILINE_LINE variabile al
contenuto del readline buffer di linea e il LEGGILINE_PUNTO variabile al
posizione corrente del punto di inserimento. Se il comando eseguito cambia
il valore di LEGGILINE_LINE or LEGGILINE_PUNTO, quei nuovi valori saranno
riflesso nello stato di modifica.
-X Elenca tutte le sequenze di tasti associate ai comandi della shell e ai comandi associati
in un formato che può essere riutilizzato come input.

Il valore restituito è 0 a meno che non venga fornita un'opzione non riconosciuta o si sia verificato un errore.

rompere [n]
Uscita dall'interno a per, while, fino a quando, o select ciclo continuo. Se n è specificato, interruzione n
livelli. n deve essere ≥ 1. Se n è maggiore del numero di anelli che lo racchiudono, tutti
i loop di chiusura sono usciti. Il valore restituito è 0 a meno che n non è maggiore di o
uguale a 1.

incorporato conchiglia [argomenti]
Esegui il built-in della shell specificato, passandolo argomenti, e tornare alla sua uscita
stato. Questo è utile quando si definisce una funzione il cui nome è lo stesso di una shell
builtin, mantenendo la funzionalità del builtin all'interno della funzione. Il cd
builtin è comunemente ridefinito in questo modo. Lo stato di ritorno è falso se
conchiglia non è un comando integrato nella shell.

visitatore [espr]
Restituisce il contesto di qualsiasi chiamata di subroutine attiva (una funzione di shell o uno script
eseguito con il . or source incorporati). Senza espr, visitatore visualizza la riga
numero e nome del file di origine della chiamata alla subroutine corrente. Se non negativo
intero viene fornito come espr, visitatore visualizza il numero di riga, il nome della subroutine e
file di origine corrispondente a quella posizione nello stack di chiamate di esecuzione corrente.
Queste informazioni aggiuntive possono essere utilizzate, ad esempio, per stampare una traccia dello stack. Il
il frame corrente è il frame 0. Il valore restituito è 0 a meno che la shell non sia in esecuzione
una chiamata di sottoprogramma o espr non corrisponde a una posizione valida nella chiamata
pila.

cd [-L|[-P [-e]] [-@]] [dir]
Cambia la directory corrente in dir. Se dir non viene fornito, il valore del HOMEPAGE
la variabile shell è l'impostazione predefinita. Eventuali ulteriori argomenti seguenti dir sono ignorati
La variabile CDPATH definisce il percorso di ricerca per la directory che contiene dir: ogni
nome della directory in CDPATH è cercato dir. Nomi di directory alternativi in
CDPATH sono separati da due punti (:). Un nome di directory nullo in CDPATH è la stessa
come directory corrente, cioè ``.''. Se dir inizia con una barra (/), quindi CDPATH
non viene utilizzato. Il -P cause di opzione cd per utilizzare la struttura di directory fisica di
risoluzione dei collegamenti simbolici durante l'attraversamento dir e prima di elaborare istanze di ..
in dir (vedi anche il -P opzione per il set comando integrato); il -L forze di opzione
collegamenti simbolici da seguire risolvendo il collegamento dopo l'elaborazione di istanze di
.. in dir. Se .. appare in dir, viene elaborato rimuovendo immediatamente
componente del percorso precedente da dir, torna a una barra o all'inizio di dir. Se
, il -e l'opzione è fornita con -Pe la directory di lavoro corrente non può essere
determinato con successo dopo un cambio di directory riuscito, cd restituirà un file
stato non riuscito. Sui sistemi che lo supportano, il -@ l'opzione presenta il
attributi estesi associati a un file come directory. Un argomento di - is
convertito in $OLDPWD prima che venga tentata la modifica della directory. Se un non vuoto
nome della directory da CDPATH viene utilizzato, o se - è il primo argomento, e il
la modifica della directory è riuscita, il percorso assoluto della nuova directory di lavoro
viene scritto nell'output standard. Il valore restituito è true se la directory lo era
cambiato con successo; falso altrimenti.

command [-pvv] command [arg ...]
Correre command con args sopprimendo la normale ricerca della funzione shell. Solo integrato
comandi o comandi trovati in PERCORSO vengono eseguiti. Se la -p l'opzione è data,
la ricerca di command viene eseguito utilizzando un valore predefinito per PERCORSO cioè
garantito per trovare tutte le utenze standard. Se o il -V or -v opzione è
fornito, una descrizione di command viene stampato. Il -v opzione provoca una singola parola
indicando il comando o il nome del file utilizzato per richiamare command da visualizzare; il -V
opzione produce una descrizione più dettagliata. Se la -V or -v l'opzione è fornita,
lo stato di uscita è 0 se command è stato trovato e 1 in caso negativo. Se nessuna delle due opzioni lo è
fornito e si è verificato un errore o command non può essere trovato, lo stato di uscita è 127.
In caso contrario, lo stato di uscita del command builtin è lo stato di uscita di command.

compgen [opzione] [parola]
Genera possibili corrispondenze di completamento per parola secondo l' opziones, che può
essere qualsiasi opzione accettata dal completamento di una integrato ad eccezione di -p ed -re
scrivere le corrispondenze nello standard output. Quando si utilizza il -F or -C opzioni, il
varie variabili della shell impostate dalle strutture di completamento programmabili, mentre
disponibile, non avrà valori utili.

Le corrispondenze verranno generate allo stesso modo del completamento programmabile
codice li aveva generati direttamente da una specifica di completamento con lo stesso
bandiere. Se parola è specificato, solo i completamenti corrispondono parola sarà
visualizzato.

Il valore restituito è true a meno che non venga fornita un'opzione non valida o non ci siano corrispondenze
generato.

completamento di una [-abcdefgjksuv] [-o comp-opzione] [-DE] [-A azione] [-G globpat] [-W lista di parole] [-F
function] [-C command]
[-X filterpat] [-P prefisso] [-S suffisso] Nome [Nome ...]
completamento di una -pr [-DE] [Nome ...]
Specificare come argomenti per ciascuno Nome dovrebbe essere completato. Se la -p opzione è
fornito, o se non vengono fornite opzioni, lo sono le specifiche di completamento esistenti
stampati in modo da consentirne il riutilizzo come input. Il -r l'opzione rimuove a
specifica di completamento per ciascuno Nome, oppure, se n Nomes sono forniti, tutti
specifiche di completamento. Il -D opzione indica che le opzioni rimanenti e
le azioni dovrebbero applicarsi al completamento del comando ``default''; cioè il completamento
tentato su un comando per il quale non è stato precedentemente definito alcun completamento. Il -E
opzione indica che le opzioni e le azioni rimanenti dovrebbero essere applicate a ``vuoto''
completamento del comando; ovvero, il completamento tentato su una riga vuota.

Il processo di applicazione di queste specifiche di completamento quando è il completamento delle parole
tentato è descritto sopra sotto Programmabile Completamento.

Altre opzioni, se specificate, hanno i seguenti significati. Gli argomenti al -G,
-We -X opzioni (e, se necessario, il -P ed -S opzioni) dovrebbero essere citati
proteggerli dall'espansione prima del completamento di una viene invocato il built-in.
-o comp-opzione
I comp-opzione controlla diversi aspetti del comportamento di compspec oltre
la semplice generazione di completamenti. comp-opzione potrebbe essere uno di:
bashdefault
Eseguire il resto dell'impostazione predefinita bash completamenti se il compspec
non genera corrispondenze.
difetto Usa il completamento del nome file predefinito di readline se compspec
non genera corrispondenze.
cognomi
Esegui il completamento del nome della directory se compspec genera n
partite.
i nomi dei file
Dì a readline che compspec genera nomi di file, quindi può farlo
eseguire qualsiasi elaborazione specifica del nome file (come l'aggiunta di una barra a
nomi di directory, virgolette di caratteri speciali o soppressione
spazi finali). Destinato all'uso con le funzioni della shell.
noquota Dì a readline di non citare le parole completate se lo sono
filenames (l'impostazione predefinita è citare i nomi dei file).
nessuno spazio Dì a readline di non aggiungere uno spazio (impostazione predefinita) alle parole
completato alla fine della riga.
più dir
Dopo che tutte le corrispondenze definite da compspec sono state generate, directory
viene tentato il completamento del nome e tutte le corrispondenze vengono aggiunte a
risultati delle altre azioni.
-A azione
I azione può essere uno dei seguenti per generare un elenco di possibili
completamenti:
alias Nomi alias. Può anche essere specificato come -a.
arrayvar
Nomi di variabili array.
rilegatura Readline nomi di associazioni di tasti.
incorporato Nomi dei comandi incorporati della shell. Può anche essere specificato come -b.
command Nomi dei comandi. Può anche essere specificato come -c.
elenco
Nomi di directory. Può anche essere specificato come -d.
disabile
Nomi dei builtin della shell disabilitati.
abilitato Nomi dei builtin della shell abilitati.
export Nomi delle variabili shell esportate. Può anche essere specificato come -e.
filetto Nomi di file. Può anche essere specificato come -f.
function
Nomi delle funzioni della shell.
gruppo Nomi di gruppo. Può anche essere specificato come -g.
argomento di aiuto
Argomenti della guida accettati dal Aiuto incorporato.
hostname
Nomi host, come presi dal file specificato da FILE HOST conchiglia
variabile.
lavoro Nomi lavori, se il controllo lavori è attivo. Può anche essere specificato come -j.
parola chiave Parole riservate di Shell. Può anche essere specificato come -k.
running Nomi dei lavori in esecuzione, se il controllo dei lavori è attivo.
servizio Nomi di servizio. Può anche essere specificato come -s.
impostare Argomenti validi per il -o opzione per il set incorporato.
negozio Nomi delle opzioni della shell accettati da negozio incorporato.
segnale Nomi dei segnali.
fermato Nomi dei lavori interrotti, se il controllo dei lavori è attivo.
Utente Nomi utente. Può anche essere specificato come -u.
variabile
Nomi di tutte le variabili della shell. Può anche essere specificato come -v.
-C command
command viene eseguito in un ambiente subshell e il suo output viene utilizzato come
i possibili completamenti.
-F function
La funzione shell function viene eseguito nell'ambiente shell corrente.
Quando la funzione viene eseguita, il primo argomento ($1) è il nome del
comando i cui argomenti sono in fase di completamento, il secondo argomento ($2) è
la parola è completata e il terzo argomento ($3) è la parola che precede
la parola in fase di completamento sulla riga di comando corrente. Quando finisce,
gli eventuali completamenti sono ricavati dal valore del COMPRI
variabile di matrice.
-G globpat
Il modello di espansione del percorso globpat si espande per generare il possibile
completamenti.
-P prefisso
prefisso dopotutto viene aggiunto all'inizio di ogni possibile completamento
sono state applicate altre opzioni.
-S suffisso
suffisso viene aggiunto a ogni possibile completamento dopo tutte le altre opzioni
stato applicato.
-W lista di parole
I lista di parole è diviso usando i caratteri in IFS variabile speciale come
delimitatori e ogni parola risultante viene espansa. I possibili completamenti
sono i membri dell'elenco risultante che corrispondono alla parola da completare.
-X filterpat
filterpat è un modello usato per l'espansione del percorso. Si applica a
l'elenco dei possibili completamenti generato dalle opzioni precedenti e
argomenti e ogni corrispondenza di completamento filterpat viene rimosso dall'elenco.
Un leader ! in filterpat nega il modello; in questo caso, l'eventuale completamento
non combacia filterpat è rimosso.

Il valore restituito è true a meno che non venga fornita un'opzione non valida, un'opzione diversa da
-p or -r viene fornito senza a Nome argomento, si tenta di rimuovere a
specifica di completamento per a Nome per cui non esiste alcuna specifica o un errore
si verifica aggiungendo una specifica di completamento.

composto [-o opzione] [-DE] [+o opzione] [Nome]
Modifica le opzioni di completamento per ciascuno Nome secondo l' opziones, o per il
completamento in esecuzione se n Nomesono forniti. Se no opziones sono dati,
visualizzare le opzioni di completamento per ciascuno Nome o il completamento corrente. Il
possibili valori di opzione sono quelli validi per il completamento di una built-in descritto sopra.
I -D opzione indica che le opzioni rimanenti dovrebbero essere applicate al ``predefinito''
completamento del comando; cioè tentativo di completamento su comando per il quale n
il completamento è stato precedentemente definito. Il -E opzione indica che il rimanente
le opzioni dovrebbero applicarsi al completamento del comando ``vuoto''; cioè, il completamento tentato
su una riga vuota.

Il valore restituito è true a meno che non venga fornita un'opzione non valida, viene effettuato un tentativo
per modificare le opzioni per a Nome per i quali non esiste una specifica di completamento, o
si verifica un errore di uscita.

continua [n]
Riprendi la prossima iterazione dell'allegato per, while, fino a quando, o select ciclo continuo. Se n
è specificato, riprendere al nil ciclo che lo racchiude. n deve essere ≥ 1. Se n è più grande
rispetto al numero di loop di chiusura, l'ultimo loop di chiusura (il ``livello superiore''
ciclo) viene ripreso. Il valore restituito è 0 a meno che n non è maggiore o uguale a
1.

dichiarare [-aAfFgilnrtux] [-p] [Nome[=APPREZZIAMO] ...]
comporre [-aAfFgilnrtux] [-p] [Nome[=APPREZZIAMO] ...]
Dichiara le variabili e/o assegna loro degli attributi. Se no Nomes vengono dati quindi visualizzati
i valori delle variabili. Il -p l'opzione visualizzerà gli attributi e i valori di
ogni Nome. Quando -p è usato con Nome argomenti, opzioni aggiuntive, diverse da -f
ed -F, vengono ignorati. quando -p viene fornito senza Nome argomenti, verrà visualizzato
gli attributi e i valori di tutte le variabili aventi gli attributi specificati da
opzioni aggiuntive. Se non vengono fornite altre opzioni -p, dichiarare verrà visualizzato
gli attributi e i valori di tutte le variabili della shell. Il -f opzione limiterà il
visualizzare alle funzioni della shell. Il -F opzione inibisce la visualizzazione della funzione
definizioni; vengono stampati solo il nome della funzione e gli attributi. Se la extdebug
l'opzione shell è abilitata utilizzando negozio, il nome del file di origine e il numero di riga in cui il file
viene visualizzata anche la funzione definita. Il -F opzione implica -f. -g
opzione forza la creazione o la modifica di variabili nell'ambito globale, anche quando
dichiarare viene eseguito in una funzione di shell. Viene ignorato in tutti gli altri casi. Il
le seguenti opzioni possono essere utilizzate per limitare l'output alle variabili con il valore specificato
attributo o per dare attributi alle variabili:
-a Ogni Nome è una variabile array indicizzata (vedi Array sopra).
-A Ogni Nome è una variabile array associativa (vedi Array sopra).
-f Usa solo i nomi delle funzioni.
-i La variabile viene trattata come un intero; valutazione aritmetica (cfr ARITMETICA
VALUTAZIONE sopra) viene eseguita quando alla variabile viene assegnato un valore.
-l Quando alla variabile viene assegnato un valore, lo sono tutti i caratteri maiuscoli
convertito in minuscolo. L'attributo maiuscolo è disabilitato.
-n Dai a ciascuno Nome , il nomeref attributo, rendendolo un riferimento di nome a un altro
variabile. Quell'altra variabile è definita dal valore di Nome. Tutti
riferimenti e incarichi a Nome, fatta eccezione per la modifica del -n attributo
stesso, vengono eseguiti sulla variabile a cui fa riferimento Nomeil valore. Il -n
l'attributo non può essere applicato alle variabili di matrice.
-r Make Nomeè di sola lettura. Questi nomi non possono quindi essere assegnati valori da
successive dichiarazioni di assegnazione o non impostate.
-t Dai a ciascuno Nome , il tracciare attributo. Le funzioni tracciate ereditano il DEBUG ed
RITORNO trap dalla shell chiamante. L'attributo trace non ha uno speciale
significato per variabili.
-u Quando alla variabile viene assegnato un valore, lo sono tutti i caratteri minuscoli
convertito in maiuscolo. L'attributo minuscolo è disabilitato.
-x Mark Nomes per l'esportazione in comandi successivi tramite l'ambiente.

L'uso di `+' invece di `-' disattiva invece l'attributo, con le eccezioni che
+a non può essere utilizzato per distruggere una variabile di matrice e +r non rimuoverà la sola lettura
attributo. Quando utilizzato in una funzione, dichiarare ed comporre fare ciascuno Nome locale, come
con la locale comando, a meno che il -g l'opzione è fornita. Se il nome di una variabile è
seguito da =APPREZZIAMO, il valore della variabile è impostato su APPREZZIAMO. Quando si usa -a or -A
e la sintassi di assegnazione composta per creare variabili di matrice, attributi aggiuntivi
non hanno effetto fino a successive assegnazioni. Il valore restituito è 0 a meno che an
viene incontrata un'opzione non valida, viene effettuato un tentativo di definire una funzione usando ``-f
foo=bar'', viene effettuato un tentativo di assegnare un valore a una variabile di sola lettura, un tentativo
viene fatto per assegnare un valore a una variabile di matrice senza utilizzare il composto
sintassi di assegnazione (vedi Array sopra), uno dei nomi non è una shell valida
nome della variabile, viene effettuato un tentativo di disattivare lo stato di sola lettura per una sola lettura
variabile, viene effettuato un tentativo di disattivare lo stato dell'array per una variabile dell'array o an
si tenta di visualizzare una funzione inesistente con -f.

dirs [-clpv] [+n] [-n]
Senza opzioni, visualizza l'elenco delle directory attualmente memorizzate. Il
la visualizzazione predefinita è su una singola riga con i nomi delle directory separati da spazi.
Le directory vengono aggiunte all'elenco con il pushd comando; il popd comando rimuove
voci dalla lista.
-c Cancella lo stack di directory eliminando tutte le voci.
-l Produce un elenco utilizzando percorsi completi; il formato di elenco predefinito utilizza a
tilde per indicare la home directory.
-p Stampa lo stack di directory con una voce per riga.
-v Stampa la pila di directory con una voce per riga, anteponendo a ciascuna voce
il suo indice nello stack.
+n Visualizza il nconteggio della voce da sinistra della lista mostrata da dirs quando
invocato senza opzioni, a partire da zero.
-n Visualizza il nesima voce contando da destra della lista mostrata da dirs
quando viene richiamato senza opzioni, a partire da zero.

Il valore restituito è 0 a meno che non venga fornita un'opzione non valida o n indici oltre il
fine dello stack di directory.

rinnegare [-ar] [-h] [specifica del lavoro ...]
Senza opzioni, rimuovi ciascuna specifica del lavoro dalla tabella dei lavori attivi. Se specifica del lavoro is
non presente, e nemmeno il -a né l' -r opzione è fornita, il corrente lavoro is
Usato. Se la -h opzione è data, ciascuno specifica del lavoro non viene rimosso dal tavolo, ma
è contrassegnato in modo tale SIGILLO non viene inviato al lavoro se la shell riceve a SIGILLO. Se
no specifica del lavoro viene fornito, il -a opzione significa rimuovere o contrassegnare tutti i lavori; il -r
opzione senza a specifica del lavoro argomento limita l'operazione ai lavori in esecuzione. Il ritorno
il valore è 0 a meno che a specifica del lavoro non specifica un lavoro valido.

eco [-nata] [arg ...]
Uscita il args, separata da spazi, seguita da una nuova riga. Lo stato di ritorno è
0 a meno che non si verifichi un errore di scrittura. Se -n è specificato, la nuova riga finale è
soppresso. Se la -e opzione è data, interpretazione della seguente barra rovesciata-
caratteri di escape è abilitato. Il -E opzione disabilita l'interpretazione di questi
caratteri di escape, anche su sistemi in cui vengono interpretati per impostazione predefinita. Il
xpg_eco l'opzione shell può essere utilizzata per determinare dinamicamente se o meno eco
espande questi caratteri di escape per impostazione predefinita. eco non interpreta -- significare il
fine delle opzioni. eco interpreta le seguenti sequenze di escape:
\a avviso (campanello)
\b backspace
\c sopprimere ulteriore output
\e
\E un personaggio di fuga
\f feed di moduli
\n nuova linea
\r ritorno a capo
\t tab orizzontale
\v tab verticale
\\ backslash
\0nnn il carattere a otto bit il cui valore è il valore ottale nnn (da zero a tre
cifre ottali)
\xHH il carattere a otto bit il cui valore è il valore esadecimale HH (uno o due
cifre esadecimali)
\uHhhh il carattere Unicode (ISO/IEC 10646) il cui valore è il valore esadecimale
Hhhh (da una a quattro cifre esadecimali)
\UHHHHHHH
il carattere Unicode (ISO/IEC 10646) il cui valore è il valore esadecimale
HHHHHHH (da una a otto cifre esadecimali)

enable [-a] [-dnps] [-f Nome del file] [Nome ...]
Abilita e disabilita i comandi della shell incorporati. La disabilitazione di un built-in consente un disco
comando che ha lo stesso nome di una shell incorporata da eseguire senza
specificando un percorso completo, anche se la shell normalmente cerca i builtin
prima dei comandi del disco. Se -n viene utilizzato, ciascuno Nome è disabilitato; altrimenti, nomi sono
abilitato. Ad esempio, per utilizzare il test binario trovato tramite il PERCORSO invece del
versione incorporata della shell, esegui ``enable -n test''. Il -f opzione significa caricare il nuovo
comando integrato Nome da oggetto condiviso Nome del file, su sistemi che supportano la dinamica
Caricamento in corso. Il -d l'opzione cancellerà un built-in precedentemente caricato -f. Se no
Nome vengono forniti argomenti, o se il -p viene fornita l'opzione, un elenco di interni della shell
viene stampato. Senza altri argomenti di opzione, l'elenco è composto da tutte le shell abilitate
incorporati. Se -n viene fornito, vengono stampati solo gli interni disabilitati. Se -a is
fornito, l'elenco stampato include tutti gli interni, con l'indicazione se o
non tutti sono abilitati. Se -s viene fornito, l'uscita è limitata al POSIX
la nostra speciale incorporati. Il valore restituito è 0 a meno che a Nome non è una shell incorporata o
si è verificato un errore durante il caricamento di un nuovo builtin da un oggetto condiviso.

eval [arg ...]
I argLe s vengono lette e concatenate insieme in un unico comando. Questo comando è
quindi letto ed eseguito dalla shell e il suo stato di uscita viene restituito come valore
of eval. Se non ci sono args, o solo argomenti nulli, eval restituisce 0.

exec [-cl] [-a Nome] [command [argomenti]]
If command è specificato, sostituisce la shell. Non viene creato alcun nuovo processo. Il
argomenti diventano gli argomenti per command. Se il -l opzione è fornita, la shell
inserisce un trattino all'inizio dell'argomento zero a cui è passato command. Questo è
che cosa accesso(1) fa. Il -c cause di opzione command da eseguire con un vuoto
ambiente. Se -a viene fornito, la shell passa Nome come argomento zero a
il comando eseguito. Se command non può essere eseguito per qualche motivo, un non-
la shell interattiva esce, a meno che il fallire l'opzione shell è abilitata. In ciò
caso, restituisce fallimento. Una shell interattiva restituisce un errore se il file non può
essere eseguito. Se command non è specificato, eventuali reindirizzamenti hanno effetto nel
shell corrente e lo stato di ritorno è 0. Se si verifica un errore di reindirizzamento, il file
lo stato di ritorno è 1.

exit [n]
Fa sì che la shell esca con uno stato di n. Se n è omesso, lo stato di uscita è
quello dell'ultimo comando eseguito. Una trappola EXIT viene eseguito prima della shell
termina.

export [-fn] [Nome[=parola]]...
export -p
Il fornito nomi sono contrassegnati per l'esportazione automatica nell'ambiente di
comandi eseguiti successivamente. Se la -f l'opzione è data, il nomi fare riferimento a
funzioni. Se no nomi sono dati, o se il -p opzione viene fornita, un elenco di nomi
di tutte le variabili esportate viene stampato. Il -n opzione fa in modo che la proprietà di esportazione a
essere rimosso da ciascuno Nome. Se il nome di una variabile è seguito da =parola, il valore di
la variabile è impostata su parola. export restituisce uno stato di uscita pari a 0 a meno che non sia valido
si incontra l'opzione, uno dei nomi non è un nome di variabile shell valido, o -f
viene fornito con a Nome quella non è una funzione.

fc [-e nome] [-lnr] [prima di tutto] [ultimo]
fc -s [colpetto=rep] [cmd]
Il primo modulo seleziona un intervallo di comandi da prima di tutto a ultimo dall'elenco della cronologia
e li visualizza o li modifica e li esegue nuovamente. Nome ed ultimo può essere specificato come a
string (per individuare l'ultimo comando che inizia con quella stringa) o come numero (an
index nell'elenco della cronologia, dove un numero negativo viene utilizzato come offset dal
numero di comando corrente). Se ultimo non è specificato è impostato sul comando corrente
per l'elenco (in modo che ``fc -l -10'' stampi gli ultimi 10 comandi) e per prima di tutto
altrimenti. Se prima di tutto non è specificato è impostato sul comando precedente per la modifica
e -16 per l'elenco.

I -n opzione sopprime i numeri di comando durante l'elenco. Il -r opzione inverte
l'ordine dei comandi Se la -l opzione è data, i comandi sono elencati su
uscita standard. In caso contrario, l'editor fornito da nome viene invocato su un file
contenente quei comandi. Se nome non è indicato, il valore del FCEDIT variabile
viene utilizzato e il valore di EDITOR if FCEDIT non è impostato. Se nessuna delle variabili è impostata,
vi viene usato. Al termine della modifica, i comandi modificati vengono ripetuti ed eseguiti.

Nella seconda forma, command viene rieseguito dopo ogni istanza di colpetto è sostituito
by rep. Comando è interpretato allo stesso modo di prima di tutto sopra. Un utile alias da usare con
questo è ``r="fc -s"'', quindi digitando ``r cc'' viene eseguito l'ultimo comando che inizia con
``cc'' e digitando ``r'' riesegue l'ultimo comando.

Se viene utilizzato il primo modulo, il valore restituito è 0 a meno che non lo sia un'opzione non valida
incontrato o prima di tutto or ultimo specificare le righe della cronologia fuori dall'intervallo. Se la -e opzione
viene fornito, il valore restituito è il valore dell'ultimo comando eseguito o non riuscito
se si verifica un errore con il file temporaneo dei comandi. Se lo è il secondo modulo
utilizzato, lo stato di ritorno è quello del comando rieseguito, a meno che cmd non
specificare una riga della cronologia valida, nel qual caso fc restituisce il fallimento.

fg [specifica del lavoro]
CV specifica del lavoro in primo piano e rendilo il lavoro corrente. Se specifica del lavoro non è
presente, la nozione della shell di corrente lavoro viene usato. Il valore di ritorno è quello
del comando posto in primo piano, o errore se eseguito quando il controllo del lavoro è
disabilitato o, se eseguito con il controllo del lavoro abilitato, se specifica del lavoro non specifica un valido
lavoro o specifica del lavoro specifica un lavoro che è stato avviato senza il controllo del lavoro.

getopts opstring Nome [args]
getopts viene utilizzato dalle procedure della shell per analizzare i parametri posizionali. opstring
contiene i caratteri dell'opzione da riconoscere; se un carattere è seguito da a
due punti, l'opzione dovrebbe avere un argomento, che dovrebbe essere separato da
da uno spazio bianco. I due punti e il punto interrogativo non possono essere utilizzati come
caratteri di opzione. Ogni volta che viene invocato, getopts inserisce l'opzione successiva in
variabile di shell Nome, inizializzazione Nome se non esiste, e l'indice del
argomento successivo da elaborare nella variabile OTTIMIZZA. OTTIMIZZA è inizializzato a 1
ogni volta che viene invocata la shell o uno script di shell. Quando un'opzione richiede un
discussione, getopts inserisce quell'argomento nella variabile OPTARG. Il guscio sì
non resettare OTTIMIZZA automaticamente; deve essere ripristinato manualmente tra più chiamate a
getopts all'interno della stessa chiamata di shell se deve essere utilizzato un nuovo set di parametri.

Quando si incontra la fine delle opzioni, getopts esce con un valore di ritorno maggiore
di zero. OTTIMIZZA è impostato sull'indice del primo argomento non di opzione, e Nome
è impostato per ?.

getopts normalmente analizza i parametri posizionali, ma se vengono forniti più argomenti
in args, getopts analizza quelli invece.

getopts può segnalare gli errori in due modi. Se il primo carattere di opstring è un
colon, silenzioso viene utilizzata la segnalazione degli errori. Durante il normale funzionamento, messaggi diagnostici
vengono stampati quando vengono rilevate opzioni non valide o argomenti di opzione mancanti. Se
la variabile OPTERRA è impostato su 0, non verrà visualizzato alcun messaggio di errore, anche se il
primo personaggio di opstring non è un colon.

Se viene visualizzata un'opzione non valida, getopts posti ? in Nome e, se non muto, stampa
un messaggio di errore e si annulla OPTARG. Se getopts è silenzioso, il carattere dell'opzione
trovato è inserito OPTARG e non viene stampato alcun messaggio diagnostico.

Se un argomento richiesto non viene trovato, e getopts non tace, un punto interrogativo (?)
è inserito Nome, OPTARG non è impostato e viene stampato un messaggio diagnostico. Se
getopts tace, poi due punti (:) è inserito Nome ed OPTARG è impostato al
carattere opzione trovato.

getopts restituisce true se viene trovata un'opzione, specificata o non specificata. Ritorna
false se viene rilevata la fine delle opzioni o si verifica un errore.

hash [-lr] [-p Nome del file] [-DT] [Nome]
Ogni volta hash viene richiamato, il percorso completo del comando Nome è determinato da
ricerca nelle directory $ PERCORSO e ricordato. Qualsiasi precedentemente ricordato
il nome del percorso viene eliminato. Se la -p viene fornita l'opzione, non viene eseguita alcuna ricerca di percorso,
ed Nome del file viene utilizzato come nome file completo del comando. Il -r l'opzione causa il
shell per dimenticare tutte le posizioni ricordate. Il -d opzione fa dimenticare alla shell
la posizione ricordata di ciascuno Nome. Se il -t opzione è fornita, il pieno
percorso a cui ciascuno Nome corrisponde viene stampato. Se multiplo Nome gli argomenti sono
fornito di -t, le Nome viene stampato prima del percorso completo con hash. Il -l
opzione fa sì che l'output venga visualizzato in un formato che può essere riutilizzato come input. Se
non vengono forniti argomenti, o se solo -l viene fornito, informazioni su ricordate
i comandi vengono stampati. Lo stato di ritorno è vero a meno che a Nome non viene trovato o un
viene fornita un'opzione non valida.

Aiuto [-dms] [modello]
Visualizza informazioni utili sui comandi integrati. Se modello è specificato, Aiuto
fornisce un aiuto dettagliato su tutti i comandi corrispondenti modello; altrimenti aiuto per tutti i
vengono stampati i builtin e le strutture di controllo della shell.
-d Visualizza una breve descrizione di ciascuno modello
-m Visualizza la descrizione di ciascuno modello in un formato simile a una pagina di manuale
-s Visualizza solo una breve sinossi di utilizzo per ciascuno modello

Lo stato di ritorno è 0 a meno che nessun comando corrisponda modello.

storia [n]
storia -c
storia -d offset
storia -anw [Nome del file]
storia -p arg [arg ...]
storia -s arg [arg ...]
Senza opzioni, visualizza l'elenco della cronologia dei comandi con i numeri di riga. Righe elencate
con una * sono stati modificati. Un argomento di n elenca solo l'ultimo n Linee. Se la
variabile di shell FORMATO ORA HIST è impostato e non nullo, viene utilizzato come stringa di formato
per strftime(3) per visualizzare il timestamp associato a ciascuna cronologia visualizzata
iscrizione. Nessuno spazio vuoto intermedio viene stampato tra il timestamp formattato e il
linea della storia. Se Nome del file viene fornito, viene utilizzato come nome del file storico;
in caso negativo, il valore di ARCHIVIO viene utilizzato. Le opzioni, se fornite, hanno quanto segue
significati:
-c Cancella l'elenco della cronologia eliminando tutte le voci.
-d offset
Elimina la voce della cronologia in posizione offset.
-a Aggiungi le righe della cronologia ``nuove'' (le righe della cronologia immesse dall'inizio
della corrente bash sessione) nel file della cronologia.
-n Leggi le righe della cronologia non già lette dal file della cronologia nel file
elenco della cronologia corrente. Queste sono righe aggiunte al file della cronologia da allora
l'inizio della corrente bash sessione.
-r Leggere il contenuto del file della cronologia e aggiungerlo alla cronologia corrente
elenco.
-w Scrivere l'elenco della cronologia corrente nel file della cronologia, sovrascrivendo la cronologia
contenuto del file.
-p Eseguire la sostituzione della cronologia su quanto segue args e visualizzare il risultato su
l'uscita standard. Non memorizza i risultati nell'elenco della cronologia. Ogni
arg deve essere citato per disabilitare la normale espansione della cronologia.
-s Memorizza il file args nell'elenco della cronologia come voce singola. L'ultimo comando in
l'elenco della cronologia viene rimosso prima del args sono aggiunti.

Se l' FORMATO ORA HIST è impostata, le informazioni di timestamp associate a
ogni voce della cronologia viene scritta nel file della cronologia, contrassegnata dal commento della cronologia
carattere. Quando il file della cronologia viene letto, le righe che iniziano con il commento della cronologia
carattere seguito immediatamente da una cifra vengono interpretati come timestamp per il
riga della storia precedente. Il valore restituito è 0 a meno che non lo sia un'opzione non valida
incontrato, si verifica un errore durante la lettura o la scrittura del file della cronologia, un errore non valido
offset viene fornito come argomento a -d, o l'espansione della cronologia fornita come an
argomento a -p non riesce.

posti di lavoro [-lnprs] [ specifica del lavoro ...]
posti di lavoro -x command [ args ...]
Il primo modulo elenca i lavori attivi. Le opzioni hanno i seguenti significati:
-l Elenca gli ID di processo oltre alle normali informazioni.
-n Visualizza le informazioni solo sui lavori che hanno cambiato stato dall'utente
è stato informato per l'ultima volta del loro stato.
-p Elenca solo l'ID processo del leader del gruppo di processi del lavoro.
-r Visualizza solo i lavori in esecuzione.
-s Visualizza solo i lavori interrotti.

If specifica del lavoro viene fornito, l'output è limitato alle informazioni su quel lavoro. Il
lo stato di ritorno è 0 a meno che non venga rilevata un'opzione non valida o non valida specifica del lavoro is
fornito.

Se l' -x l'opzione è fornita, posti di lavoro sostituisce qualsiasi specifica del lavoro trovato in command or args
con l'ID del gruppo di processi corrispondente ed esegue command passandolo args,
restituendo il suo stato di uscita.

kill [-s sigspec | -n Signum | -sigspec] [pid | specifica del lavoro]...
kill -l [sigspec | stato_uscita]
Invia il segnale denominato da sigspec or Signum ai processi nominati da pid or
specifica del lavoro. sigspec è un nome di segnale senza distinzione tra maiuscole e minuscole come SIGILLO (con o
senza il SIG prefisso) o un numero di segnale; Signum è un numero di segnale. Se sigspec
non è presente, allora TERMINE è assunto. Un argomento di -l elenca i nomi dei segnali.
Se vengono forniti argomenti quando -l viene dato, i nomi dei segnali
corrispondenti agli argomenti sono elencati e lo stato di ritorno è 0. Il
stato_uscita argomento a -l è un numero che specifica un numero di segnale o il
stato di uscita di un processo terminato da un segnale. kill restituisce vero se almeno uno
il segnale è stato inviato correttamente o false se si verifica un errore o se è presente un'opzione non valida
incontrato.

lasciare arg [arg ...]
Ogni arg è un'espressione aritmetica da valutare (vedi ARITMETICA VALUTAZIONE
sopra). Se l'ultimo arg restituisce 0, lasciare restituisce 1; 0 viene restituito in caso contrario.

locale [opzione] [Nome[=APPREZZIAMO] ...]
Per ogni argomento, una variabile locale denominata Nome viene creato e assegnato APPREZZIAMO.
opzione può essere una qualsiasi delle opzioni accettate da dichiarare. Quando locale viene utilizzato all'interno di a
funzione, provoca la variabile Nome avere uno scopo visibile limitato a quello
funzione e i suoi figli. Senza operandi, locale scrive un elenco di locali
variabili allo standard output. È un errore da usare locale quando non entro a
funzione. Lo stato di ritorno è 0 a meno che locale viene utilizzato al di fuori di una funzione, an
invalido Nome è fornito, o Nome è una variabile di sola lettura.

il logout Esci da una shell di accesso.

mapfile [-n contare] [-O origine] [-s contare] [-t] [-u fd] [-C richiama] [-c quantistico] [schieramento]
readarray [-n contare] [-O origine] [-s contare] [-t] [-u fd] [-C richiama] [-c quantistico]
[schieramento]
Legge le righe dallo standard input nella variabile di matrice indicizzata schieramento, O da
descrittore di file fd se l' -u l'opzione è fornita. La variabile FILE MAPPA Europe è
difetto schieramento. Le opzioni, se fornite, hanno i seguenti significati:
-n Copia al massimo contare Linee. Se contare è 0, tutte le righe vengono copiate.
-O Inizia ad assegnare a schieramento all'indice origine. L'indice predefinito è 0.
-s Scarta il primo contare righe lette.
-t Rimuovere una nuova riga finale da ogni riga letta.
-u Leggi le righe dal descrittore di file fd invece dell'input standard.
-C Valutare richiama ogni volta quantistico vengono lette le righe. Il -c opzione specifica
quantistico.
-c Specificare il numero di linee lette tra ogni chiamata a richiama.

If -C è specificato senza -c, il quantum predefinito è 5000. Quando richiama is
valutato, viene fornito l'indice del successivo elemento dell'array da assegnare e
la riga da assegnare a quell'elemento come argomenti aggiuntivi. richiama is
valutato dopo la lettura della riga ma prima dell'assegnazione dell'elemento dell'array.

Se non fornito con un'origine esplicita, mapfile cancellerà schieramento prima di assegnare
ad esso.

mapfile restituisce correttamente a meno che non sia un'opzione o un argomento di opzione non valido
fornito, schieramento non è valido o non assegnabile, o se schieramento non è un array indicizzato.

popd [-n] [+n] [-n]
Rimuove le voci dallo stack di directory. Senza argomenti, rimuove la parte superiore
directory dallo stack ed esegue a cd nella nuova directory principale. Argomenti,
se forniti, hanno i seguenti significati:
-n Sopprime il normale cambio di directory durante la rimozione di directory da
stack, in modo che solo lo stack venga manipolato.
+n Rimuove il nconteggio della voce da sinistra della lista mostrata da dirs,
a partire da zero. Ad esempio: ``popd +0'' rimuove la prima directory,
``popd +1'' il secondo.
-n Rimuove il nesima voce contando da destra della lista mostrata da dirs,
a partire da zero. Ad esempio: ``popd -0'' rimuove l'ultima directory,
``popd -1'' il penultimo.

Se l' popd il comando ha esito positivo, a dirs viene eseguita pure, e il ritorno
lo stato è 0. popd restituisce false se viene rilevata un'opzione non valida, la directory
stack è vuoto, è stata specificata una voce dello stack di directory inesistente o la directory
il cambiamento fallisce.

printf [-v var] formato [argomenti]
Scrivi il formattato argomenti allo standard output sotto il controllo del
formato. -v opzione fa sì che l'uscita venga assegnata alla variabile var piuttosto
rispetto alla stampa sull'output standard.

I formato è una stringa di caratteri che contiene tre tipi di oggetti: plain
caratteri, che vengono semplicemente copiati nello standard output, sequenze di escape dei caratteri,
che vengono convertiti e copiati nello standard output e nelle specifiche di formato,
ognuno dei quali provoca la stampa del successivo successivo argomento. In aggiunta a
Standard printf(1) specifiche del formato, printf interpreta quanto segue
estensioni:
%b cause printf per espandere le sequenze di escape della barra rovesciata nel corrispondente
argomento (salvo che \c termina l'output, i backslash in \', \"e \?
non vengono rimossi e gli escape ottali che iniziano con \0 può contenerne fino a quattro
cifre).
%q cause printf per emettere il corrispondente argomento in un formato che può essere
riutilizzato come input della shell.
%(datafmt)T
cause printf per produrre la stringa data-ora risultante dall'utilizzo datafmt as
una stringa di formato per strftime(3). Il corrispondente argomento è un intero
che rappresenta il numero di secondi dall'epoca. Due argomenti speciali
possono essere utilizzati i valori: -1 rappresenta l'ora corrente e -2 rappresenta il
momento in cui è stata invocata la shell. Se non viene specificato alcun argomento, la conversione si comporta
come se fosse stato dato -1. Questa è un'eccezione al solito printf comportamento.

Gli argomenti per identificatori di formato non stringa vengono trattati come costanti C, tranne per il fatto che a
è consentito il segno più o meno iniziale e se il carattere principale è un singolo o
virgolette, il valore è il valore ASCII del carattere seguente.

I formato viene riutilizzato se necessario per consumare tutto argomenti. Se il formato
richiede di più argomenti rispetto a quelli forniti, le specifiche del formato extra si comportano
come se fosse stato fornito un valore zero o una stringa nulla, a seconda dei casi. Il ritorno
il valore è zero in caso di successo, diverso da zero in caso di fallimento.

pushd [-n] [+n] [-n]
pushd [-n] [dir]
Aggiunge una directory in cima allo stack di directory o ruota lo stack, creando
la nuova cima dello stack la directory di lavoro corrente. Senza argomenti,
scambia le prime due directory e restituisce 0, a meno che non lo sia lo stack di directory
vuoto. Gli argomenti, se forniti, hanno i seguenti significati:
-n Sopprime il normale cambio di directory quando si aggiungono directory a
stack, in modo che solo lo stack venga manipolato.
+n Ruota la pila in modo che il nth directory (contando da sinistra del file
elenco mostrato da dirs, a partire da zero) è in alto.
-n Ruota la pila in modo che il nth directory (contando da destra del
elenco mostrato da dirs, a partire da zero) è in alto.
dir Aggiunge dir allo stack di directory in alto, rendendola la nuova corrente
directory di lavoro come se fosse stata fornita come argomento al file cd
incorporato.

Se l' pushd il comando ha esito positivo, a dirs viene eseguita pure. Se il primo modulo
si usa, pushd restituisce 0 a meno che il cd a dir non riesce. Con la seconda forma pushd
restituisce 0 a meno che lo stack di directory non sia vuoto, uno stack di directory inesistente
viene specificato l'elemento o la directory cambia nella nuova corrente specificata
directory non riesce.

pwd [-LP]
Stampa il percorso assoluto della directory di lavoro corrente. Il percorso stampato
non contiene collegamenti simbolici se il file -P l'opzione è fornita o il -o Fisico opzione
Vai all’email set il comando integrato è abilitato. Se la -L viene utilizzata l'opzione, il nome del percorso
stampato può contenere collegamenti simbolici. Lo stato di ritorno è 0 a meno che non si verifichi un errore
durante la lettura del nome della directory corrente o viene fornita un'opzione non valida.

read [-ers] [-a un nome] [-d delim] [-i testo] [-n nchar] [-N nchar] [-p pronto] [-t
timeout] [-u fd] [Nome ...]
Una riga viene letta dallo standard input o dal descrittore di file fd in dotazione
come argomento per il -u opzione e la prima parola viene assegnata alla prima Nome,
dalla seconda parola alla seconda Nome, e così via, con le parole rimanenti e le loro
separatori intermedi assegnati all'ultimo Nome. Se ci sono meno parole lette
dal flusso di input rispetto ai nomi, ai nomi rimanenti vengono assegnati valori vuoti.
I personaggi in IFS sono usati per dividere la riga in parole usando le stesse regole
la shell usa per l'espansione (descritta sopra sotto Word Scissione). Il contraccolpo
carattere (\) può essere utilizzato per rimuovere qualsiasi significato speciale per il carattere successivo letto
e per la continuazione della linea. Le opzioni, se fornite, hanno i seguenti significati:
-a un nome
Le parole sono assegnate agli indici sequenziali della variabile array un nome,
a partire da 0. un nome non viene impostato prima che vengano assegnati nuovi valori. Altro
Nome gli argomenti vengono ignorati.
-d delim
Il primo personaggio di delim viene invece utilizzato per terminare la linea di input
rispetto a nuova riga.
-e Se lo standard input proviene da un terminale, readline (Vedi LINEA DI LETTURA
sopra) viene utilizzato per ottenere la riga. Readline utilizza l'attuale (o predefinito,
se la modifica della linea non era precedentemente attiva) impostazioni di modifica.
-i testo
If readline viene utilizzato per leggere la riga, testo viene inserito nell'editing
buffer prima dell'inizio della modifica.
-n nchar
read ritorna dopo la lettura nchar caratteri piuttosto che aspettare a
riga di input completa, ma rispetta un delimitatore se inferiore a nchar
i caratteri vengono letti prima del delimitatore.
-N nchar
read ritorna dopo aver letto esattamente nchar personaggi piuttosto che aspettare
una riga di input completa, a meno che non si incontri EOF o read il tempo è scaduto.
I caratteri delimitatori incontrati nell'input non vengono trattati in modo speciale e
non causare read tornare fino a nchar i caratteri vengono letti.
-p pronto
Dsiplay pronto su errore standard, senza una nuova riga finale, prima
tentando di leggere qualsiasi input. Il prompt viene visualizzato solo se l'input lo è
proveniente da un terminale.
-r La barra rovesciata non funge da carattere di escape. Viene considerata la barra rovesciata
essere parte della linea. In particolare, una coppia backslash-newline potrebbe non esserlo
utilizzato come continuazione di riga.
-s Modalità silenziosa. Se l'input proviene da un terminale, i caratteri non vengono ripetuti.
-t timeout
Causare read andare in timeout e restituire un errore se una riga di input completa (o a
numero di caratteri specificato) non viene letto all'interno timeout secondi. timeout
può essere un numero decimale con una parte frazionaria dopo il decimale
punto. Questa opzione è efficace solo se read sta leggendo l'input da a
terminale, pipe o altro file speciale; non ha effetto durante la lettura da
file regolari. Se read il tempo è scaduto, read salva qualsiasi input parziale letto
la variabile specificata Nome. Se timeout è 0, read ritorna immediatamente,
senza cercare di leggere alcun dato. Lo stato di uscita è 0 se l'input è disponibile
sul descrittore di file specificato, altrimenti diverso da zero. Lo stato di uscita è
maggiore di 128 in caso di superamento del timeout.
-u fd Leggi l'input dal descrittore di file fd.

Se no nomi vengono forniti, la riga letta viene assegnata alla variabile REPLY.
il codice di ritorno è zero, a meno che non venga rilevata la fine del file, read timeout (in cui
nel caso in cui il codice di ritorno sia maggiore di 128), un errore di assegnazione di variabili (come
assegnazione a una variabile di sola lettura) o viene fornito un descrittore di file non valido
come argomento per -u.

in sola lettura [-aAf] [-p] [Nome[=parola] ...]
Il dato nomi sono contrassegnati in sola lettura; i valori di questi nomi non può essere modificato
con successivo incarico. Se la -f opzione è fornita, le funzioni
corrispondente alla nomi sono così marcati. Il -a l'opzione limita le variabili a
array indicizzati; il -A l'opzione limita le variabili agli array associativi. Se
entrambe le opzioni sono fornite, -A ha la precedenza. Se no Nome vengono forniti argomenti, o
se l' -p viene fornita l'opzione, viene stampato un elenco di tutti i nomi di sola lettura. L'altro
le opzioni possono essere utilizzate per limitare l'output a un sottoinsieme dell'insieme di sola lettura
nomi. Il -p opzione fa sì che l'output venga visualizzato in un formato che può essere riutilizzato
come input. Se il nome di una variabile è seguito da =parola, il valore della variabile è
impostato parola. Lo stato di ritorno è 0 a meno che non venga rilevata un'opzione non valida, uno
della nomi non è un nome di variabile shell valido, o -f viene fornito con a Nome che
non è una funzione.

ritorno [n]
Fa interrompere l'esecuzione di una funzione e restituisce il valore specificato da n a sua
chiamante. Se n viene omesso, lo stato di ritorno è quello dell'ultimo comando eseguito
il corpo della funzione. Se ritorno viene utilizzato al di fuori di una funzione, ma durante l'esecuzione di a
sceneggiatura del . (source) , fa sì che la shell interrompa l'esecuzione
script e restituisci entrambi n o lo stato di uscita dell'ultimo comando eseguito all'interno
lo script come stato di uscita dello script. Se n viene fornito, il valore restituito è
i suoi 8 bit meno significativi. Lo stato di ritorno è diverso da zero se ritorno è fornito
un argomento non numerico, oppure viene utilizzato all'esterno di una funzione e non durante l'esecuzione di a
sceneggiatura di . or source. Qualsiasi comando associato a RITORNO trappola viene eseguita
prima che l'esecuzione riprenda dopo la funzione o lo script.

set [--abefhkmnptuvxBCEHPT] [-o nome-opzione] [arg ...]
set [+abefhkmnptuvxBCEHPT] [+o nome-opzione] [arg ...]
Senza opzioni, il nome e il valore di ciascuna variabile della shell vengono visualizzati in a
formato che può essere riutilizzato come input per impostare o ripristinare l'impostazione corrente
variabili. Le variabili di sola lettura non possono essere ripristinate. In posix modalità, solo shell
sono elencate le variabili. L'output viene ordinato in base alla locale corrente. quando
le opzioni sono specificate, impostano o annullano gli attributi della shell. Eventuali argomenti rimanenti
dopo l'elaborazione delle opzioni vengono trattati come valori per i parametri posizionali e lo sono
assegnato, nell'ordine, a $1, $2, ... $n. Le opzioni, se specificate, hanno quanto segue
significati:
-a Contrassegna automaticamente variabili e funzioni che vengono modificate o create
per l'esportazione nell'ambiente dei comandi successivi.
-b Segnala immediatamente lo stato dei lavori in background interrotti, anziché
prima del successivo prompt primario. Questo è efficace solo quando lo è il controllo del lavoro
abilitato.
-e Uscire immediatamente se a conduttura (che può essere costituito da un unico semplice
command) Del stratagemma, O composto command (Vedi SHELL GRAMMATICA sopra), esce
con stato diverso da zero. La shell non esce se il comando non riesce
fa parte dell'elenco dei comandi immediatamente dopo a while or fino a quando parola chiave,
parte del test successivo al if or Elif parole riservate, parte di qualsiasi
comando eseguito in a && or || list tranne il comando successivo alla finale
&& or ||, qualsiasi comando in una pipeline tranne l'ultimo o se il comando è
il valore di ritorno viene invertito con !. Se un comando composto diverso da a
subshell restituisce uno stato diverso da zero perché un comando non è riuscito mentre -e Prima
essendo ignorato, la shell non esce. Una trappola ERR, se impostato, viene eseguito
prima che la shell esca. Questa opzione si applica all'ambiente shell e
ogni ambiente della subshell separatamente (vedi COMANDO ESECUZIONE AMBIENTE
sopra) e potrebbe causare l'uscita delle sottoshell prima di eseguire tutti i comandi
nella subshell.

Se un comando composto o una funzione di shell viene eseguita in un contesto dove -e is
ignorato, nessuno dei comandi eseguiti all'interno del comando composto o
il corpo della funzione sarà influenzato dal -e impostazione, anche se -e è impostato e a
il comando restituisce uno stato di errore. Se un comando composto o una funzione di shell
set -e durante l'esecuzione in un contesto in cui -e viene ignorato, quell'impostazione lo farà
non hanno alcun effetto fino al comando composto o al comando contenente
la chiamata di funzione viene completata.
-f Disabilita l'espansione del nome del percorso.
-h Ricorda la posizione dei comandi mentre vengono cercati per l'esecuzione.
Questo è abilitato per impostazione predefinita.
-k Tutti gli argomenti sotto forma di istruzioni di assegnazione vengono inseriti nel
ambiente per un comando, non solo quelli che precedono il nome del comando.
-m Modalità monitor. Il controllo dei lavori è abilitato. Questa opzione è attiva per impostazione predefinita per
shell interattive sui sistemi che lo supportano (vedi JOB CONTROLLO sopra). Tutti
i processi vengono eseguiti in un gruppo di processi separato. Quando un lavoro in background
completa, la shell stampa una riga contenente il suo stato di uscita.
-n Leggere i comandi ma non eseguirli. Questo può essere usato per controllare una shell
script per errori di sintassi. Questo viene ignorato dalle shell interattive.
-o nome-opzione
I nome-opzione può essere uno dei seguenti:
allexport
Uguale a -a.
parentesi espandi
Uguale a -B.
emacs Usa un'interfaccia di modifica della riga di comando in stile emacs. Questo è abilitato
per impostazione predefinita quando la shell è interattiva, a meno che la shell non lo sia
iniziato con il --nessuna modifica opzione. Ciò influisce anche sulla modifica
interfaccia utilizzata per read -e.
errore Uguale a -e.
errore
Uguale a -E.
funtrace
Uguale a -T.
hashall Uguale a -h.
istespansione
Uguale a -H.
storia Abilita la cronologia dei comandi, come descritto sopra sotto STORIA. Questo
l'opzione è attiva per impostazione predefinita nelle shell interattive.
ignorare
L'effetto è come se il comando della shell ``IGNOREEOF=10'' fosse stato
eseguito (vedi Conchiglia Variabili sopra).
parola chiave Uguale a -k.
monitore Uguale a -m.
noclobber
Uguale a -C.
noexec Uguale a -n.
noglob Uguale a -f.
nolog Attualmente ignorato.
notificare Uguale a -b.
sostantivo Uguale a -u.
un cmd Uguale a -t.
Fisico
Uguale a -P.
tubo fallito
Se impostato, il valore restituito di una pipeline è il valore dell'ultima
(più a destra) comando per uscire con uno stato diverso da zero o zero se tutto
i comandi nella pipeline escono correttamente. Questa opzione è
disabilitato per impostazione predefinita.
posix Cambia il comportamento di bash dove l'operazione predefinita è diversa
dallo standard POSIX per corrispondere allo standard (posix modo). Vedere
VEDERE ANCHE di seguito per un riferimento a un documento che descrive in dettaglio come posix
la modalità influisce sul comportamento di bash.
privilegiato
Uguale a -p.
verboso Uguale a -v.
vi Utilizzare un'interfaccia di modifica della riga di comando in stile vi. Anche questo influisce
l'interfaccia di modifica utilizzata per read -e.
xtraccia Uguale a -x.
If -o viene fornito con n nome-opzione, i valori delle opzioni correnti
vengono stampati. Se +o viene fornito con n nome-opzione, una serie di set
i comandi per ricreare le impostazioni dell'opzione corrente viene visualizzato su
uscita standard.
-p Accendi privilegiato modalità. In questa modalità, il $ ENV ed $BASH_ENV i file sono
non elaborati, le funzioni della shell non vengono ereditate dall'ambiente e
, il CONCHIGLIE, BASHOPTI, CDPATHe GLOBIGNORE variabili, se compaiono
nell'ambiente, vengono ignorati. Se la shell viene avviata con
ID utente effettivo (gruppo) diverso dall'ID utente reale (gruppo) e il -p
opzione non viene fornita, queste azioni vengono eseguite e l'ID utente effettivo
è impostato sull'ID utente reale. Se la -p l'opzione è fornita all'avvio, il
l'ID utente effettivo non viene reimpostato. La disattivazione di questa opzione provoca il
ID utente e gruppo effettivi da impostare sugli ID utente e gruppo reali.
-t Esci dopo aver letto ed eseguito un comando.
-u Tratta variabili non impostate e parametri diversi dai parametri speciali "@"
e "*" come errore durante l'esecuzione dell'espansione dei parametri. Se lo è l'espansione
tentato su una variabile o parametro non impostato, la shell stampa un errore
messaggio e, se non interattivo, esce con uno stato diverso da zero.
-v Stampa le righe di input della shell man mano che vengono lette.
-x Dopo aver ampliato ciascuno semplice command, per comando, Custodie comando, select
comando o aritmetica per comando, visualizzare il valore espanso di PS4,
seguito dal comando e dai suoi argomenti estesi o dall'elenco di parole associato.
-B La shell esegue l'espansione delle parentesi (vedi Bretelle Espansione sopra). Questo è acceso
per impostazione predefinita.
-C Se impostato, bash non sovrascrive un file esistente con >, >&e <>
operatori di reindirizzamento. Questo potrebbe essere ignorato durante la creazione di file di output
utilizzando l'operatore di reindirizzamento >| invece di >.
-E Se impostata, qualsiasi trappola attivata ERR è ereditato dalle funzioni della shell, comando
sostituzioni e comandi eseguiti in un ambiente subshell. Il ERR
trap normalmente non è ereditato in questi casi.
-H permettere ! sostituzione della storia di stile. Questa opzione è attiva per impostazione predefinita quando
la shell è interattiva.
-P Se impostata, la shell non risolve i collegamenti simbolici durante l'esecuzione dei comandi
ad esempio cd che cambiano la directory di lavoro corrente. Usa il fisico
struttura di directory invece. Per impostazione predefinita, bash segue la catena logica di
directory quando si eseguono comandi che cambiano la directory corrente.
-T Se impostato, eventuali trappole attive DEBUG ed RITORNO sono ereditati dalle funzioni della shell,
sostituzioni di comandi e comandi eseguiti in un ambiente subshell.
I DEBUG ed RITORNO le trappole normalmente non vengono ereditate in questi casi.
-- Se nessun argomento segue questa opzione, allora lo sono i parametri posizionali
non settato. In caso contrario, i parametri posizionali vengono impostati su args, anche se
alcuni iniziano con a -.
- Segnala la fine delle opzioni, causa tutto ciò che rimane args da assegnare al
parametri posizionali. Il -x ed -v le opzioni sono disattivate. Se ci sono
no args, i parametri posizionali rimangono invariati.

Le opzioni sono disattivate per impostazione predefinita, se non diversamente specificato. Usando + anziché -
fa sì che queste opzioni vengano disattivate. Le opzioni possono anche essere specificate come
argomenti a un'invocazione della shell. È possibile trovare l'attuale set di opzioni
in $-. Lo stato di ritorno è sempre vero a meno che non venga rilevata un'opzione non valida.

spostamento [n]
I parametri posizionali da n+1 ... vengono rinominati in $1 .... parametri
rappresentato dai numeri $# giù verso $#-n+1 non sono impostati. n deve essere un non negativo
numero minore o uguale a $#. Se n è 0, nessun parametro viene modificato. Se n is
non dato, si assume che sia 1. Se n è maggiore $#, il posizionale
i parametri non vengono modificati. Lo stato di ritorno è maggiore di zero se n è più grande
di $# o inferiore a zero; altrimenti 0.

negozio [-pqsu] [-o] [nomeopt ...]
Attiva o disattiva i valori delle impostazioni che controllano il comportamento della shell opzionale. Le impostazioni
possono essere quelli elencati di seguito o, se il -o viene utilizzata l'opzione, quelle disponibili
con la -o opzione per il set comando integrato. Senza opzioni, o con il -p
opzione, viene visualizzato un elenco di tutte le opzioni impostabili, con l'indicazione se
o non ognuno è impostato. Il -p opzione fa sì che l'output venga visualizzato in una forma che potrebbe
essere riutilizzato come input. Altre opzioni hanno i seguenti significati:
-s Abilita (imposta) ciascuno nomeopt.
-u Disattiva (deseleziona) ciascuno nomeopt.
-q Sopprime l'uscita normale (modalità silenziosa); lo stato del reso indica se
, il nomeopt è impostato o disinserito. Se multiplo nomeopt gli argomenti sono forniti con
-q, lo stato di ritorno è zero se tutto optnames sono abilitati; diverso da zero
altrimenti.
-o Limita i valori di nomeopt essere quelli definiti per il -o opzione per il
set incorporato.

Se uno dei due -s or -u si usa con n nomeopt argomenti, negozio mostra solo quelli
opzioni che sono rispettivamente impostate o non impostate. Salvo diversa indicazione, il negozio
le opzioni sono disabilitate (non impostate) per impostazione predefinita.

Lo stato di ritorno quando si elencano le opzioni è zero se tutto optnames sono abilitati, non
zero altrimenti. Quando si impostano o si disinseriscono le opzioni, lo stato di ritorno è zero
a meno che non nomeopt non è un'opzione di shell valida.

L'elenco dei negozio opzioni è:

autoc Se impostato, un nome di comando che è il nome di una directory viene eseguito come se lo fosse
erano l'argomento al cd comando. Questa opzione è utilizzata solo da
shell interattive.
cdable_vars
Se impostato, un argomento per il cd il comando integrato che non è una directory è
assunto come il nome di una variabile il cui valore è la directory da modificare
a.
cdspell Se impostato, errori minori nell'ortografia di un componente di directory in a cd
il comando verrà corretto. Gli errori verificati vengono recepiti
caratteri, un carattere mancante e un carattere di troppo. Se un
viene trovata la correzione, viene stampato il nome del file corretto e il comando
ricavo. Questa opzione è utilizzata solo dalle shell interattive.
checkhash
Se impostato, bash controlla che un comando trovato nella tabella hash esista prima
cercando di eseguirlo. Se un comando hash non esiste più, un percorso normale
viene eseguita la ricerca.
lavori di controllo
Se impostato, bash elenca lo stato di tutti i lavori interrotti e in esecuzione precedenti
uscita da una shell interattiva. Se alcuni lavori sono in esecuzione, ciò provoca il
l'uscita deve essere posticipata fino a quando non si tenta una seconda uscita senza che sia intervenuto
comando (vedi JOB CONTROLLO sopra). La shell posticipa sempre l'eventuale uscita
i lavori vengono interrotti.
checkwinsize
Se impostato, bash controlla la dimensione della finestra dopo ogni comando e, se necessario,
aggiorna i valori di LINEE ed COLONNE.
cmdist Se impostato, bash tenta di salvare tutte le righe di un comando a più righe nel file
stessa voce della cronologia. Ciò consente di modificare facilmente i comandi su più righe.
compat31
Se impostato, bash cambia il suo comportamento a quello della versione 3.1 rispetto a
argomentazioni citate al [[ comando condizionale =~ operatore e locale-
confronto di stringhe specifiche quando si utilizza il [[ comando condizionale < ed >
operatori. Le versioni di Bash precedenti a bash-4.1 utilizzano le regole di confronto ASCII e
strcmp(3); bash-4.1 e versioni successive utilizzano la sequenza di confronto della locale corrente
ed strcoll(3).
compat32
Se impostato, bash cambia il suo comportamento a quello della versione 3.2 rispetto a
confronto di stringhe specifiche della locale quando si utilizza il [[ comando condizionale <
ed > operatori (vedi voce precedente).
compat40
Se impostato, bash cambia il suo comportamento a quello della versione 4.0 rispetto a
confronto di stringhe specifiche della locale quando si utilizza il [[ comando condizionale <
ed > operatori (vedi descrizione di compat31) e l'effetto di
interrompere un elenco di comandi. Le versioni Bash 4.0 e successive interrompono il
list come se la shell avesse ricevuto l'interrupt; le versioni precedenti continuano
con il comando successivo nell'elenco.
compat41
Se impostato, bash, quando in posix mode, tratta una virgoletta singola in una doppia virgoletta
espansione dei parametri come carattere speciale. Le virgolette singole devono corrispondere
(un numero pari) e i caratteri tra le virgolette singole sono
considerato citato. Questo è il comportamento della modalità posix fino alla versione 4.1.
Il comportamento predefinito di bash rimane come nelle versioni precedenti.
compat42
Se impostato, bash non elabora la stringa di sostituzione nel modello
espansione della parola di sostituzione usando la rimozione delle virgolette.
quotazione_completa
Se impostato, bash cita tutti i metacaratteri della shell nei nomi di file e nella directory
nomi durante l'esecuzione del completamento. Se non impostato, bash rimuove i metacaratteri
come il simbolo del dollaro dall'insieme di caratteri che verranno citati
nomi di file completati quando questi metacaratteri vengono visualizzati nella variabile della shell
riferimenti in parole da completare. Ciò significa che il dollaro entra
i nomi delle variabili che si espandono in directory non verranno citati; tuttavia, qualsiasi
Anche i segni del dollaro che appaiono nei nomi dei file non verranno citati. Questo è
attivo solo quando bash usa le barre inverse per citare i nomi dei file completati.
Questa variabile è impostata per impostazione predefinita, che è il comportamento predefinito di bash in
versioni fino a 4.2.
espandersi
Se impostato, bash sostituisce i nomi delle directory con i risultati dell'espansione delle parole
quando si esegue il completamento del nome file. Questo cambia il contenuto del
buffer di modifica readline. Se non impostato, bash tenta di preservare ciò che il
utente digitato.
disincantare
Se impostato, bash tenta la correzione ortografica sui nomi delle directory durante la parola
completamento se il nome della directory inizialmente fornito non esiste.
dotglob Se impostato, bash include nomi di file che iniziano con un `.' nei risultati di
espansione del percorso.
fallire
Se impostata, una shell non interattiva non uscirà se non può eseguire il file
specificato come argomento per il exec comando integrato. Una shell interattiva
non esce se exec non riesce.
expand_alias
Se impostato, gli alias vengono espansi come descritto sopra in ALIAS. Questa opzione
è abilitato per impostazione predefinita per le shell interattive.
extdebug
Se impostato, il comportamento destinato all'uso da parte dei debugger è abilitato:
1. I -F opzione per il dichiarare builtin mostra il nome del file di origine
e il numero di riga corrispondente a ciascun nome di funzione fornito come an
discussione.
2. Se il comando eseguito dal DEBUG trap restituisce un valore diverso da zero, il
il comando successivo viene saltato e non viene eseguito.
3. Se il comando eseguito dal DEBUG trap restituisce un valore di 2 e il
shell è in esecuzione in una subroutine (una funzione di shell o una shell
script eseguito dal . or source builtins), una chiamata a ritorno is
simulato.
4. BASH_ARGC ed BASH_ARGV sono aggiornati come descritto nella loro
descrizioni sopra.
5. Il tracciamento delle funzioni è abilitato: sostituzione dei comandi, funzioni della shell,
e le subshell invocate con ( command ) ereditare il DEBUG ed RITORNO
trappole.
6. La traccia degli errori è abilitata: sostituzione dei comandi, funzioni della shell,
e le subshell invocate con ( command ) ereditare il ERR trappola.
extglob Se impostato, le funzioni di corrispondenza dei modelli estese descritte sopra sotto
Pathname Espansione sono abilitati.
extquote
Se impostato, $'stringa' e $"stringa" la quotazione viene eseguita all'interno ${parametro}
espansioni racchiuse tra virgolette. Questa opzione è abilitata per impostazione predefinita.
globo fallito
Se impostati, i modelli che non corrispondono ai nomi dei file durante l'espansione del percorso
causare un errore di espansione.
forza_figura
Se impostati, i suffissi specificati da FIGNO shell variabile causa parole a
essere ignorato quando si esegue il completamento delle parole anche se le parole ignorate lo sono
gli unici completamenti possibili. Vedere SHELL VARIABILI sopra per una descrizione
of FIGNO. Questa opzione è abilitata per impostazione predefinita.
globosciiranges
Se impostato, le espressioni di intervallo utilizzate nelle espressioni parentesi di corrispondenza dei modelli (vedere
Cartamodello accoppiamento sopra) si comportano come se nella tradizionale locale C quando
eseguire confronti. Ovvero, la sequenza di confronto della locale corrente
non viene preso in considerazione, quindi b non si collegherà tra A ed Be
i caratteri ASCII maiuscoli e minuscoli verranno raccolti insieme.
stella globulare
Se impostato, il modello ** utilizzato in un contesto di espansione del percorso corrisponderà a tutti
file e zero o più directory e sottodirectory. Se il modello è
seguita da una /, solo le directory e le sottodirectory corrispondono.
gnu_errfmt
Se impostato, i messaggi di errore della shell vengono scritti nel messaggio di errore GNU standard
formato.
istappendo
Se impostato, l'elenco della cronologia viene aggiunto al file denominato dal valore di
ARCHIVIO variabile quando la shell esce, invece di sovrascrivere il file.
histreet
Se impostato, e readline viene utilizzato, all'utente viene data l'opportunità di ri-
modificare una sostituzione della cronologia non riuscita.
verifica
Se impostato, e readline viene utilizzato, i risultati della sostituzione della cronologia sono
non è passato immediatamente al parser della shell. Invece, la linea risultante è
caricato nel readline buffer di modifica, consentendo ulteriori modifiche.
hostcomplete
Se impostato, e readline viene usato, bash tenterà di eseguire il nome host
completamento quando una parola contenente a @ è in fase di completamento (cfr Completamento
per LINEA DI LETTURA sopra). Questo è abilitato per impostazione predefinita.
huponexit
Se impostato, bash invierà SIGILLO a tutti i lavori quando una shell di accesso interattiva
esce.
commenti_interattivi
Se impostato, consente una parola che inizia con # per causare quella parola e tutto ciò che resta
caratteri su quella riga da ignorare in una shell interattiva (vedi COMMENTI
sopra). Questa opzione è abilitata per impostazione predefinita.
ultima pipa
Se impostato e il controllo del lavoro non è attivo, la shell esegue l'ultimo comando di a
pipeline non eseguita in background nell'ambiente shell corrente.
litista Se impostato, e il cmdist l'opzione è abilitata, i comandi su più righe vengono salvati in
la cronologia con nuove righe incorporate anziché utilizzare separatori di punto e virgola
dove possibile.
login_shell
La shell imposta questa opzione se viene avviata come shell di login (vedi
INVOCAZIONE sopra). Il valore non può essere modificato.
mail di avviso
Se impostato, e un file che bash sta verificando la presenza di posta è stato effettuato l'accesso da allora
l'ultima volta che è stato controllato, il messaggio ``La posta in arrivo file di posta è stata
letto'' viene visualizzato.
no_empty_cmd_completamento
Se impostato, e readline viene usato, bash non tenterà di cercare il
PERCORSO per possibili completamenti quando il completamento viene tentato su un vuoto
linea.
nocaseglob
Se impostato, bash corrisponde ai nomi dei file senza distinzione tra maiuscole e minuscole quando
eseguire l'espansione del percorso (vedi Pathname Espansione sopra).
nocasematch
Se impostato, bash abbina i modelli senza distinzione tra maiuscole e minuscole durante l'esecuzione
corrispondenza durante l'esecuzione Custodie or [[ comandi condizionali.
nullaglob
Se impostato, bash consente modelli che non corrispondono a nessun file (vedi Pathname Espansione
sopra) per espandersi a una stringa nulla, piuttosto che a se stessi.
progcomp
Se impostate, le funzionalità di completamento programmabili (vedi Programmabile Completamento
sopra) sono abilitati. Questa opzione è abilitata per impostazione predefinita.
promptvars
Se impostate, le stringhe di prompt subiscono l'espansione dei parametri, la sostituzione dei comandi,
espansione aritmetica e rimozione delle virgolette dopo essere state espanse come descritto
in SUGGERIMENTO sopra. Questa opzione è abilitata per impostazione predefinita.
conchiglia_ristretta
La shell imposta questa opzione se viene avviata in modalità ristretta (vedi
LIMITATO SHELL sotto). Il valore non può essere modificato. Questo non è ripristinato
quando i file di avvio vengono eseguiti, consentendo il rilevamento dei file di avvio
indipendentemente dal fatto che una shell sia limitata o meno.
shift_verbose
Se impostato, il spostamento builtin stampa un messaggio di errore quando il conteggio degli spostamenti
supera il numero di parametri posizionali.
percorso sorgente
Se impostato, il source (.) builtin usa il valore di PERCORSO per trovare la directory
contenente il file fornito come argomento. Questa opzione è abilitata da
predefinito.
xpg_eco
Se impostato, il eco builtin espande le sequenze di escape barra rovesciata per impostazione predefinita.

sospendere [-f]
Sospendere l'esecuzione di questa shell finché non riceve a PROSSIMO CONTO segnale. Un accesso
il guscio non può essere sospeso; il -f l'opzione può essere utilizzata per ignorare questo e forzare il
sospensione. Lo stato di ritorno è 0 a meno che la shell non sia una shell di accesso e -f non è
fornito o se il controllo del lavoro non è abilitato.

test espr
[ espr ]
Restituisce uno stato di 0 (vero) o 1 (falso) a seconda della valutazione di
espressione condizionale espr. Ogni operatore e operando deve essere separato
discussione. Le espressioni sono composte dalle primarie descritte sopra sotto
CONDIZIONALE ESPRESSIONI. test non accetta alcuna opzione, né accetta e
ignorare un argomento di -- come a significare la fine delle opzioni.

Le espressioni possono essere combinate utilizzando i seguenti operatori, elencati in diminuzione
ordine di precedenza. La valutazione dipende dal numero di argomenti; vedi sotto.
La precedenza dell'operatore viene utilizzata quando sono presenti cinque o più argomenti.
! espr vero se espr è falso.
( espr )
Restituisce il valore di espr. Questo può essere usato per ignorare il normale
precedenza degli operatori.
espr1 -a espr2
Vero se entrambi espr1 ed espr2 sono vere
espr1 -o espr2
Vero se entrambi espr1 or espr2 è vero.

test ed [ valutare le espressioni condizionali utilizzando un insieme di regole basate su
numero di argomenti.

Argomenti 0
L'espressione è falsa.
1 argomenti
L'espressione è vera se e solo se l'argomento non è nullo.
Argomenti 2
Se il primo argomento è !, l'espressione è vera se e solo se la seconda
argomento è nullo. Se il primo argomento è uno dei condizionali unari
operatori sopra elencati sotto CONDIZIONALE ESPRESSIONI, l'espressione è vera
se il test unario è vero. Se il primo argomento non è un unario valido
condizionale, l'espressione è falsa.
Argomenti 3
Le seguenti condizioni si applicano nell'ordine elencato. Se il secondo
argomento è uno degli operatori condizionali binari elencati sopra sotto
CONDIZIONALE ESPRESSIONI, il risultato dell'espressione è il risultato di
test binario utilizzando il primo e il terzo argomento come operandi. Il -a ed -o
gli operatori sono considerati operatori binari quando sono presenti tre argomenti.
Se il primo argomento è !, il valore è la negazione dei due argomenti
prova usando il secondo e il terzo argomento. Se il primo argomento è esattamente
( e il terzo argomento è esattamente ), il risultato è il test a un argomento
del secondo argomento. In caso contrario, l'espressione è falsa.
Argomenti 4
Se il primo argomento è !, il risultato è la negazione dei tre argomenti
espressione composta dai restanti argomenti. Altrimenti, l'espressione
viene analizzato e valutato in base alla precedenza utilizzando le regole elencate
sopra.
5 o più argomenti
L'espressione viene analizzata e valutata in base alla precedenza utilizzando il
regole sopra elencate.

Se usato con test or [, le < ed > gli operatori ordinano lessicograficamente utilizzando ASCII
ordinazione.

volte Stampa i tempi accumulati dell'utente e del sistema per la shell e per i processi eseguiti
dal guscio. Lo stato di ritorno è 0.

trappola [-lp] [[arg] sigspec ...]
Il comando arg deve essere letto ed eseguito quando la shell riceve i segnali
sigspec. Se arg è assente (e c'è un singolo sigspec) o puoi -, ciascuno specificato
il segnale viene riportato alla sua disposizione originaria (il valore che aveva all'ingresso nel
guscio). Se arg è la stringa nulla il segnale specificato da ciascuno sigspec viene ignorato
dalla shell e dai comandi che invoca. Se arg non è presente e -p è stata
fornito, quindi i comandi trap associati a ciascuno sigspec vengono visualizzati. Se no
gli argomenti sono forniti o se solo -p viene data, trappola stampa l'elenco dei comandi
associato a ciascun segnale. Il -l opzione fa in modo che la shell stampi un elenco di
i nomi dei segnali e i numeri corrispondenti. Ogni sigspec è un nome di segnale
definito insegnale.h>, o un numero di segnale. I nomi dei segnali non fanno distinzione tra maiuscole e minuscole e
, il SIG il prefisso è facoltativo.

Se un sigspec is EXIT (0) il comando arg viene eseguito all'uscita dalla shell. Se un
sigspec is DEBUG, il comando arg viene eseguito prima di ogni semplice command, per
comando, Custodie comando, select comando, ogni aritmetica per comando, e prima del
il primo comando viene eseguito in una funzione di shell (vedi SHELL GRAMMATICA sopra). Fare riferimento al
descrizione del extdebug opzione per il negozio integrato per i dettagli del suo effetto
sul DEBUG trappola. Se un sigspec is RITORNO, il comando arg viene eseguito ogni volta a
funzione di shell o uno script eseguito con . or source finiture degli interni
esecuzione.

Se un sigspec is ERR, il comando arg viene eseguito ogni volta che una pipeline (che può
costituito da un singolo comando semplice), un elenco o un comando composto restituisce a
stato di uscita diverso da zero, soggetto alle seguenti condizioni. Il ERR trappola non lo è
eseguito se il comando non riuscito fa parte dell'elenco dei comandi immediatamente successivo a a
while or fino a quando parola chiave, parte del test in an if istruzione, parte di un comando
eseguito in a && or || list tranne il comando successivo alla finale && or ||, qualunque
comando in una pipeline ma l'ultimo o se il valore restituito del comando è in corso
invertito usando !. Queste sono le stesse condizioni a cui obbedisce il errore (-e) opzione.

I segnali ignorati all'ingresso nella shell non possono essere catturati o ripristinati. Intrappolato
i segnali che non vengono ignorati vengono ripristinati ai loro valori originali in una subshell
o ambiente subshell quando ne viene creato uno. Lo stato di ritorno è falso se presente
sigspec è invalido; altrimenti trappola restituisce true.

Digitare [-aftpP] Nome [Nome ...]
Senza opzioni, indica come ciascuno Nome verrebbe interpretato se usato come comando
nome. Se la -t viene utilizzata l'opzione, Digitare stampa una stringa che è una di alias,
parola chiave, function, incorporato, o filetto if Nome è un alias, parola riservata alla shell,
rispettivamente, funzione, built-in o file del disco. Se la Nome non si trova, quindi
non viene stampato nulla e viene restituito uno stato di uscita false. Se la -p opzione è
Usato, Digitare o restituisce il nome del file del disco che verrebbe eseguito se Nome
sono stati specificati come nome di un comando, o niente se ``type -t name'' non viene restituito
filetto. -P l'opzione forza a PERCORSO cerca per ciascuno Nome, anche se ``digita -t nome''
non sarebbe tornato filetto. Se un comando è sottoposto a hash, -p ed -P stampa il valore hash,
che non è necessariamente il file che appare per primo PERCORSO. Se il -a opzione è
Usato, Digitare stampa tutte le posizioni che contengono un eseguibile denominato Nome. Questo
include alias e funzioni, se e solo se il -p anche l'opzione non viene utilizzata. Il
la tabella dei comandi hash non viene consultata durante l'utilizzo -a. -f l'opzione sopprime
ricerca della funzione shell, come con il command incorporato. Digitare restituisce vero se tutto di
gli argomenti sono stati trovati, false se non se ne trovano.

ulimit [-HSAbcdefilmnpqrstuvx [limitare]]
Fornisce il controllo sulle risorse disponibili alla shell e ai processi avviati
da essa, su sistemi che consentono tale controllo. Il -H ed -S le opzioni specificano che il
limite hard o soft è impostato per la risorsa data. Non è possibile aumentare un limite rigido
da un utente non root una volta impostato; un limite soft può essere aumentato fino al valore di
il limite duro. Se nessuno dei due -H-S viene specificato, sia il limite soft che quello hard
sono impostati. Il valore di limitare può essere un numero nell'unità specificata per la risorsa
o uno dei valori speciali difficile, morbido, o illimitato, che sta per la corrente
rispettivamente hard limit, il soft limit corrente e nessun limite. Se limitare is
omesso, viene stampato il valore corrente del limite software della risorsa, a meno che il
-H opzione è data. Quando viene specificata più di una risorsa, il nome del limite e
le unità vengono stampate prima del valore. Altre opzioni sono interpretate come segue:
-a Vengono riportati tutti i limiti di corrente
-b La dimensione massima del buffer del socket
-c La dimensione massima dei file core creati
-d La dimensione massima del segmento di dati di un processo
-e La massima priorità di pianificazione ("nice")
-f La dimensione massima dei file scritti dalla shell e dai suoi figli
-i Il numero massimo di segnali in sospeso
-l La dimensione massima che può essere bloccata in memoria
-m La dimensione massima del set residente (molti sistemi non rispettano questo limite)
-n Il numero massimo di descrittori di file aperti (la maggior parte dei sistemi non lo consente
valore da impostare)
-p La dimensione della pipe in blocchi da 512 byte (potrebbe non essere impostata)
-q Il numero massimo di byte nelle code di messaggi POSIX
-r La massima priorità di pianificazione in tempo reale
-s La dimensione massima dello stack
-t La quantità massima di tempo della CPU in secondi
-u Il numero massimo di processi disponibili per un singolo utente
-v La quantità massima di memoria virtuale disponibile per la shell e, su alcuni
sistemi, ai suoi figli
-x Il numero massimo di blocchi di file
-T Il numero massimo di thread

If limitare è dato, e il -a l'opzione non viene utilizzata, limitare è il nuovo valore di
risorsa specificata. Se non viene data alcuna opzione, allora -f è assunto. I valori sono dentro
Incrementi di 1024 byte, ad eccezione di -t, che è in secondi; -p, che è in unità di
blocchi da 512 byte; e -T, -b, -ne -u, che sono valori non scalati. Il ritorno
lo stato è 0 a meno che non venga fornita un'opzione o un argomento non valido o si verifichi un errore
mentre si stabilisce un nuovo limite.

umask [-p] [-S] [modo]
La maschera di creazione file utente è impostata su modo. Se modo inizia con una cifra, lo è
interpretato come un numero ottale; in caso contrario viene interpretata come una maschera di modalità simbolica
simile a quello accettato da chmod(1). Se modo viene omesso, il valore corrente di
la maschera è stampata. Il -S opzione fa stampare la maschera in forma simbolica; il
l'output predefinito è un numero ottale. Se la -p l'opzione è fornita, e modo is
omesso, l'output è in una forma che può essere riutilizzata come input. Lo stato di ritorno è
0 se la modalità è stata modificata con successo o se no modo argomento è stato fornito, e
falso altrimenti.

Unalias [-a] [Nome ...]
Rimuovi ciascuno Nome dall'elenco degli alias definiti. Se -a viene fornito, tutto alias
le definizioni vengono rimosse. Il valore restituito è true a meno che non venga fornito Nome non è un
alias definito.

non settato [-fv] [-n] [Nome ...]
Per ciascun Nome, rimuovere la variabile o la funzione corrispondente. Se la -v opzione è
dato, ciascuno Nome fa riferimento a una variabile di shell e quella variabile viene rimossa. Leggere-
solo le variabili non possono essere disimpostate. Se -f è specificato, ciascuno Nome si riferisce a una conchiglia
funzione e la definizione della funzione viene rimossa. Se la -n l'opzione è fornita,
ed Nome è una variabile con il nomeref attributo, Nome sarà disinserito piuttosto che
la variabile a cui fa riferimento. -n non ha effetto se il -f l'opzione è fornita. Se no
le opzioni sono fornite, ciascuna Nome si riferisce a una variabile; se non c'è una variabile di
quel nome, qualsiasi funzione con quel nome non è impostata. Ogni variabile o funzione non impostata
viene rimosso dall'ambiente passato ai comandi successivi. Se qualcuno di
COMP_WORD BREAKS, CASUALE, SECONDI, LINENO, HISTCMD, NOME FUNZIONALE, GRUPPI, o DIRSTACK
non sono impostati, perdono le loro proprietà speciali, anche se vengono successivamente ripristinati.
Lo stato di uscita è vero a meno che a Nome è di sola lettura.

aspettare [-n] [n ...]
Attendi ogni processo figlio specificato e restituisci il suo stato di terminazione. Ogni n
può essere un ID processo o una specifica del lavoro; se viene fornita una specifica di lavoro, tutti i processi
nella pipeline di quel lavoro sono attese. Se n non è dato, tutti attualmente attivi
i processi figlio sono in attesa e lo stato di ritorno è zero. Se la -n opzione è
fornito, aspettare attende la fine di qualsiasi lavoro e restituisce il suo stato di uscita. Se n
specifica un processo o un lavoro inesistente, lo stato di ritorno è 127. In caso contrario, il
stato di ritorno è lo stato di uscita dell'ultimo processo o lavoro atteso.

LIMITATO SHELL


If bash inizia con il nome rbasho -r l'opzione viene fornita al momento dell'invocazione, il
shell diventa limitato. Una shell ristretta viene utilizzata per configurare un ambiente more
controllato rispetto al guscio standard. Si comporta in modo identico a bash con l'eccezione
che sono vietati o non eseguiti:

· cambiare directory con cd

· impostazione o disattivazione dei valori di SHELL, PERCORSO, ENV, o BASH_ENV

· specificare i nomi dei comandi contenenti /

· specificando un nome di file contenente a / come argomento per il . comando integrato

· specificando un nome di file contenente una barra come argomento per il -p opzione per il
hash comando integrato

· importazione di definizioni di funzioni dall'ambiente shell all'avvio

· analizzando il valore di CONCHIGLIE dall'ambiente shell all'avvio

· reindirizzamento dell'output utilizzando gli operatori di reindirizzamento >, >|, <>, >&, &> e >>

· usando il exec comando integrato per sostituire la shell con un altro comando

· aggiungere o eliminare comandi incorporati con il -f ed -d opzioni per il enable
comando integrato

· usando il enable comando incorporato per abilitare i comandi incorporati della shell disabilitati

· specificando il -p opzione per il command comando integrato

· disattivare la modalità limitata con set +r or set +o limitato.

Queste restrizioni vengono applicate dopo la lettura dei file di avvio.

Quando viene eseguito un comando che risulta essere uno script di shell (vedi COMANDO ESECUZIONE
sopra), rbash disattiva qualsiasi restrizione nella shell generata per eseguire lo script.

Usa bash online usando i servizi onworks.net


Server e workstation gratuiti

Scarica app per Windows e Linux

  • 1
    Plugin Eclipse Tomcat
    Plugin Eclipse Tomcat
    Il plugin Eclipse Tomcat fornisce
    semplice integrazione di un servlet Tomcat
    contenitore per lo sviluppo di java
    applicazioni web. Puoi unirti a noi per
    discussione...
    Scarica il plug-in Eclipse Tomcat
  • 2
    WebTorrent Desktop
    WebTorrent Desktop
    WebTorrent Desktop è per lo streaming
    torrent su Mac, Windows o Linux. Esso
    si connette sia a BitTorrent che a
    peer WebTorrent. Ora non c'è
    bisogna aspettare...
    Scarica WebTorrent Desktop
  • 3
    GenX
    GenX
    GenX è un programma scientifico da perfezionare
    riflettività ai raggi x, neutroni
    riflettività e raggi X di superficie
    dati di diffrazione usando il differenziale
    algoritmo di evoluzione...
    Scarica GenX
  • 4
    pspp4 windows
    pspp4 windows
    PSPP è un programma per la statistica
    analisi dei dati campionati. È gratuito
    sostituzione del programma proprietario
    SPSS. PSPP ha sia testuale che
    grafica noi...
    Scarica pspp4windows
  • 5
    Estensioni Git
    Estensioni Git
    Git Extensions è uno strumento di interfaccia utente autonomo
    per la gestione dei repository Git. È anche
    si integra con Windows Explorer e
    Microsoft Visual Studio
    (2015/2017/2019). Ns...
    Scarica le estensioni Git
  • 6
    eSpeak: sintesi vocale
    eSpeak: sintesi vocale
    Motore di sintesi vocale per inglese e
    molte altre lingue. Dimensioni compatte con
    pronuncia chiara ma artificiale.
    Disponibile come programma a riga di comando con
    molti ...
    Scarica eSpeak: sintesi vocale
  • Di Più "

Comandi Linux

Ad