Skip to main content

Completo - Comando Linux - Comando Unix

Corso di Programmazione: Impara a programmare da zero | Alberto Olla (Giugno 2026)

Corso di Programmazione: Impara a programmare da zero | Alberto Olla (Giugno 2026)
Anonim

Nome

bash, alias, bg, bind, break, builtin, cd, comando, compgen, complete, continue, declare, dirs, disown, echo, enable, eval, exec, exit, export, fc, fg, getopts, hash, help, storia, lavoro, uccisione, let, locale, logout, popd, printf, pushd, pwd, read, readonly, return, set, shift, shopt, source, suspend, test, times, trap, type, typeset, ulimit, umask, unalias, unset, wait - bash comandi incorporati, vedibash(1)

Bash Builtin Command

Salvo diversa indicazione, ogni comando incorporato documentato in questa sezione come opzioni di accettazione precedute da- accetta-- per significare la fine delle opzioni.

: argomenti

Nessun effetto; il comando non fa altro che espandersi argomenti ed eseguendo qualsiasi reindirizzamento specificato. Viene restituito un codice di uscita zero.

. nome del file argomenti

fonte nome del file argomenti

Leggi ed esegui comandi da nome del file nell'ambiente di shell corrente e restituisce lo stato di uscita dell'ultimo comando eseguito da nome del file . Se nome del file non contiene una barra, nomi di file inSENTIERO sono usati per trovare la directory che contiene nome del file . Il file cercatoSENTIERO non è necessario essere eseguibili quandobash non è in modalità posix , la ricerca della directory corrente viene eseguita se non viene trovato alcun fileSENTIERO. Se laSourcePath opzione per ilshoptil comando incorporato è disattivato, ilSENTIERO non è cercato Se qualcuno argomenti vengono forniti, diventano i parametri posizionali quando nome del file viene eseguito. Altrimenti, i parametri posizionali sono invariati. Lo stato di ritorno è lo stato dell'ultimo comando uscito all'interno dello script (0 se non vengono eseguiti comandi) e false if nome del file non è stato trovato o non può essere letto.

alias -p nome = valore …

Alias senza argomenti o con il-p opzione stampa l'elenco di alias nel moduloalias nome = valore su uscita standard. Quando vengono forniti argomenti, viene definito un alias per ciascuno nome di chi valore viene data. Uno spazio finale dentro valore fa sì che la parola successiva venga controllata per la sostituzione degli alias quando l'alias viene espanso. Per ciascuno nome nella lista degli argomenti per cui no valore viene fornito, viene stampato il nome e il valore dell'alias.Alias ritorna vero a meno che a nome è dato per il quale non è stato definito alcun alias.

bg jobspec

Riprendi il lavoro sospeso jobspec sullo sfondo, come se fosse stato avviato con&. Se jobspec non è presente, la nozione della conchiglia di lavoro attuale viene usato.bg jobspec restituisce 0 a meno che non venga eseguito quando il controllo dei lavori è disabilitato o, se eseguito con il controllo dei lavori abilitato, se jobspec non è stato trovato o avviato senza controllo del lavoro.

legare -m keymap -lpsvPSV

legare -m keymap -q funzione -u funzione -r keyseq

legare -m keymap -f nome del file

legare -m keymap -X keyseq : shell-command

legare -m keymap keyseq : nome-funzione

legare readline comando

Mostra correntelinea di lettura combinazioni di tasti e funzioni, associare una sequenza di tasti a alinea di letturafunzione o macro, o impostare alinea di lettura variabile. Ogni argomento non opzionale è un comando come apparirebbe in .inputrc , ma ogni legame o comando deve essere passato come argomento separato; ad esempio, "" C-x C-r ": re-read-init-file '. Le opzioni, se fornite, hanno i seguenti significati:

-m keymap

Uso keymap come la mappa dei tasti che deve essere influenzata dai vincoli successivi. Accettabile keymap i nomi sono emacs, emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move, vi-command , e VI-insert . VI è equivalente a VI-comando ; emacs è equivalente a emacs standard .

-l

Elenca i nomi di tuttilinea di lettura funzioni.

-p

Displaylinea di lettura nomi di funzioni e associazioni in modo tale che possano essere riletti.

-P

Elenco attualelinea di lettura nomi di funzioni e associazioni.

-v

Displaylinea di lettura nomi e valori variabili in modo tale che possano essere riletti.

-V

Elenco attualelinea di lettura nomi e valori variabili.

-S

Displaylinea di lettura sequenze di tasti legate alle macro e alle stringhe che producono in modo tale che possano essere rilette.

-S

Displaylinea di lettura sequenze di tasti legate alle macro e alle stringhe che producono.

-f nome del file

Leggi i collegamenti chiave da nome del file .

-q funzione

Query su quali chiavi richiamano il named funzione .

-u funzione

Separa tutte le chiavi associate al nome funzione .

-r keyseq

Rimuovi qualsiasi associazione corrente per keyseq .

-X keyseq : shell-command

Causa shell-command essere eseguito ogni volta keyseq è inserito

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

rompere n

Esci dall'interno di aper, mentre, fino a, oselezionare ciclo continuo. Se n è specificato, pausa n livelli. n deve essere> 1. Se n è maggiore del numero di anelli di chiusura, tutti gli anelli di chiusura sono usciti. Il valore di ritorno è 0 a meno che la shell non stia eseguendo un ciclo quandorompere viene eseguito.

incorporato shell-builtin argomenti

Esegui la shell specificata incorporata, passandola argomenti e restituisce il suo stato di uscita. Ciò è utile quando si definisce una funzione il cui nome è uguale a quello di una shell incorporata, mantenendo la funzionalità del builtin all'interno della funzione. IlCD builtin è comunemente ridefinito in questo modo. Lo stato di ritorno è falso se shell-builtin non è un comando incorporato nella shell.

CD -L | -P dir

Cambia la directory corrente in dir . La variabileCASA è il valore predefinito dir . La variabileCDPATH definisce il percorso di ricerca per la directory che contiene dir . Nomi di directory alternativi inCDPATH sono separati da due punti (:). Un nome di directory null inCDPATH è uguale alla directory corrente, ad esempio ``.''. Se dir inizia con una barra (/), quindiCDPATH non è usato Il-P l'opzione dice di usare la struttura della directory fisica invece di seguire i link simbolici (vedi anche il-P opzione per ilimpostato comando incorporato); il-L l'opzione obbliga a seguire i collegamenti simbolici. Una discussione di- è equivalente a$ OLDPWD. Il valore restituito è true se la directory è stata cambiata con successo; falso altrimenti.

comando -pVv comando arg …

Correre comando con args sopprimendo la normale ricerca della funzione shell. Solo comandi o comandi incorporati trovati inSENTIERO sono eseguiti Se la-p l'opzione è data, la ricerca di comando viene eseguito utilizzando un valore predefinito perSENTIERO questo è garantito per trovare tutte le utilità standard. Se il-V o-v l'opzione è fornita, una descrizione di comando è stampato Il-v l'opzione fa sì che una sola parola indichi il comando o il nome del file usato per richiamare comando essere visualizzato; il-V opzione produce una descrizione più dettagliata. Se la-V o-v l'opzione è fornita, lo stato di uscita è 0 se comando è stato trovato e 1 se non è stato trovato. Se nessuna delle due opzioni è fornita e si è verificato un errore o comando non può essere trovato, lo stato di uscita è 127. In caso contrario, lo stato di uscita delcomando builtin è lo stato di uscita di comando .

compgen opzione parola

Genera possibili corrispondenze di completamento per parola secondo il opzione s, che può essere una qualsiasi opzione accettata dalcompletare costruito ad eccezione di-p e-re scrivere le corrispondenze sullo standard output. Quando si usa il-F o-C opzioni, le varie variabili di shell impostate dalle funzioni di completamento programmabili, se disponibili, non avranno valori utili.

Le corrispondenze verranno generate come se il codice di completamento programmabile li avesse generati direttamente da una specifica di completamento con gli stessi flag. Se parola è specificato, solo i completamenti corrispondenti parola sarà mostrato.

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

completare -abcdefgjksuv -o comp-option -UN azione -G globpat -W elenco di parole -P prefisso -S suffisso

-X filterpat -F funzione -C comando nome nome …

completare -pr nome …

Specificare come argomenti per ciascuno nome dovrebbe essere completato Se la-p l'opzione viene fornita, o se non viene fornita alcuna opzione, le specifiche di completamento esistenti vengono stampate in modo da poter essere riutilizzate come input. Il-r opzione rimuove una specifica di completamento per ciascuno nome o, se no nome s sono forniti, tutte le specifiche di completamento.

Il processo di applicazione di queste specifiche di completamento al tentativo di completamento delle parole è descritto sopraCompletamento programmabile.

Altre opzioni, se specificate, hanno i seguenti significati. Gli argomenti per il-G, -W, e-X opzioni (e, se necessario, il-P e-S opzioni) dovrebbe essere citato per proteggerli dall'espansione prima delcompletare builtin è invocato.

-o comp-option

Il comp-option controlla diversi aspetti del comportamento di compspec oltre la semplice generazione di completamenti. comp-option può essere uno di:

predefinito

Usa il completamento del nome file predefinito di readline se compspec non genera corrispondenze.

dirnames

Eseguire il completamento del nome della directory se compspec non genera corrispondenze.

i nomi dei file

Dite a readline che compspec genera nomi di file, quindi può eseguire qualsiasi elaborazione specifica per il nome del file (come aggiungere una barra ai nomi delle directory o sopprimere gli spazi finali). Destinato all'uso con funzioni di shell.

nessuno spazio

Dì a readline di non aggiungere uno spazio (predefinito) alle parole completate alla fine della riga.

-UN azione

Il azione può essere uno dei seguenti per generare un elenco di possibili completamenti:

alias

Nomi alias. Può anche essere specificato come-un.

arrayvar

Array nomi variabili.

rilegatura

Linea di lettura nomi vincolanti.

incorporato

Nomi dei comandi incorporati della shell. Può anche essere specificato come-b.

comando

I nomi dei comandi possono anche essere specificati come nomi. Può anche essere specificato come-c.

elenco

Nomi di directory. Può anche essere specificato come-d.

Disabilitato

Nomi di shell incorporati disabilitati.

abilitato

Nomi dei builtin della shell abilitati.

esportare

Nomi delle variabili di shell esportate. Può anche essere specificato come-e.

file

Nomi di file Può anche essere specificato come-f.

funzione

Nomi delle funzioni della shell.

gruppo

Nomi di gruppo Può anche essere specificato come-g.

HelpTopic

Aiuta gli argomenti accettati dalAiuto incorporato.

hostname

Nomi host, come presi dal file specificato dalHOSTFILE variabile di shell.

lavoro

Nomi di lavoro, se il controllo dei lavori è attivo. Può anche essere specificato come-j.

parola chiave

Parole riservate alla shell Può anche essere specificato come-K.

in esecuzione

Nomi dei lavori in corso, se il controllo dei lavori è attivo.

servizio

Nomi di servizio Può anche essere specificato come-S.

SETOPT

Argomenti validi per-o opzione per ilimpostato incorporato.

shopt

Nomi delle opzioni della shell accettati dashopt incorporato.

segnale

Nomi di 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 di shell. Può anche essere specificato come-v.

-G globpat

Il modello di espansione del nome del file globpat viene espanso per generare i possibili completamenti.

-W elenco di parole

Il elenco di parole è diviso usando i caratteri nelIFS variabile speciale come delimitatori e ogni parola risultante viene espansa. I possibili completamenti sono i membri della lista risultante che corrispondono alla parola completata.

-C comando

comando viene eseguito in un ambiente subshell e il suo output viene utilizzato come possibile completamento.

-F funzione

La funzione shell funzione viene eseguito nell'ambiente shell corrente. Al termine, i possibili completamenti vengono recuperati dal valore diCOMPREPLY variabile dell'array.

-X filterpat

filterpat è un pattern utilizzato per l'espansione del nome file. Viene applicato all'elenco di possibili completamenti generati dalle opzioni e gli argomenti precedenti e ogni corrispondenza di completamento filterpat viene rimosso dalla lista. Un leader! nel filterpat nega il modello; in questo caso, qualsiasi completamento non corrispondente filterpat è rimosso.

-P prefisso

prefisso viene aggiunto all'inizio di ogni possibile completamento dopo che sono state applicate tutte le altre opzioni.

-S suffisso

suffisso viene aggiunto a ogni possibile completamento dopo aver applicato tutte le altre opzioni.

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

Continua n

Riprendi la successiva iterazione dell'acclusioneper, mentre, fino a, oselezionare ciclo continuo. Se n è specificato, riprendere al n il ciclo di chiusura. n deve essere> 1. Se n è maggiore del numero di loop di chiusura, l'ultimo ciclo di chiusura (il ciclo `` top-level '') viene ripreso. Il valore di ritorno è 0 a meno che la shell non stia eseguendo un ciclo quandoContinua viene eseguito.

dichiarare -afFirtx -p nome = valore

comporre -afFirtx -p nome = valore

Dichiarare variabili e / o assegnare loro attributi. Se no nome s sono dati quindi mostrano i valori delle variabili. Il-p l'opzione mostrerà gli attributi e i valori di ciascuno nome . quando-p viene utilizzato, le opzioni aggiuntive vengono ignorate. Il-F l'opzione inibisce la visualizzazione delle definizioni delle funzioni; vengono stampati solo il nome e gli attributi della funzione. Il-F l'opzione implica-f. Le seguenti opzioni possono essere utilizzate per limitare l'output alle variabili con l'attributo specificato o per assegnare attributi alle variabili:

-un

Ogni nome è una variabile di matrice (vediArray sopra).

-f

Usa solo nomi di funzioni.

-io

La variabile viene considerata come un intero; valutazione aritmetica (vediVALUTAZIONE ARITMETICA)viene eseguito quando alla variabile viene assegnato un valore.

-r

Rendere nome solo lettura. A questi nomi non possono quindi essere assegnati valori mediante successive istruzioni di assegnazione o non impostati.

-t

Dare a ciascuno nome il traccia attributo. Le funzioni tracciate ereditano ilDEBUG trap dalla shell chiamante. L'attributo trace non ha significato speciale per le variabili.

-X

marchio nome s per l'esportazione ai comandi successivi tramite l'ambiente.

Usando `+ 'invece di` -' invece si spegne l'attributo, ad eccezione di quello+ unnon può essere usato per distruggere una variabile di matrice. Se utilizzato in una funzione, rende ciascuno nome locale, come con ilLocale comando. Il valore di ritorno è 0 a meno che non si trovi un'opzione non valida, si tenta di definire una funzione usando `` -f foo = bar '', si tenta di assegnare un valore a una variabile di sola lettura, si tenta un tentativo per assegnare un valore a una variabile di matrice senza utilizzare la sintassi di assegnazione composta (vediArray sopra), uno dei nomi non è un nome di variabile shell valido, viene effettuato un tentativo di disattivare lo stato di sola lettura per una variabile di sola lettura, viene effettuato un tentativo di disattivare lo stato di un array per una variabile di matrice o si tenta di visualizzare un non- funzione esistente con-f.

dirs -clpv + n - n

Senza opzioni, visualizza l'elenco delle directory attualmente memorizzate. La visualizzazione predefinita si trova su un'unica riga con i nomi delle directory separati da spazi. Le directory vengono aggiunte all'elenco conpushd comando; ilpopd comando rimuove le voci dall'elenco.

+ n

Visualizza il n il conteggio delle voci da sinistra della lista indicata dadirs quando invocato senza opzioni, a partire da zero.

- n

Visualizza il n il conteggio delle voci dalla destra della lista indicata dadirs quando invocato senza opzioni, a partire da zero.

-c

Cancella lo stack delle directory cancellando tutte le voci.

-l

Produce un elenco più lungo; il formato di elenco predefinito utilizza una tilde per indicare la directory home.

-p

Stampa lo stack di directory con una voce per riga.

-v

Stampa lo stack di directory con una voce per riga, prefissando ciascuna voce con il suo indice nello stack.

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

rinnegare -ar -h jobspec …

Senza opzioni, ciascuno jobspec viene rimosso dalla tabella dei lavori attivi. Se la-h l'opzione è data, ciascuno jobspec non viene rimosso dalla tabella, ma è contrassegnato in modo cheSIGHUP non viene inviato al lavoro se la shell riceve unSIGHUP. Se no jobspec è presente, e né il-unné il-r l'opzione è fornita, il lavoro attuale viene usato. Se no jobspec è fornito, il-un opzione significa rimuovere o marcare tutti i lavori; il-r opzione senza a jobspec argomento limita l'operazione ai lavori in esecuzione. Il valore restituito è 0 a meno che a jobspec non specifica un lavoro valido.

eco -nata arg …

Uscita il arg s, separati da spazi, seguiti da una nuova riga. Lo stato di ritorno è sempre 0. Se-n è specificato, la newline finale viene soppressa. Se la-e l'opzione è fornita, l'interpretazione dei seguenti caratteri di escape backslash è abilitata. Il-E opzione disabilita l'interpretazione di questi caratteri di escape, anche su sistemi in cui sono interpretati di default. Ilxpg_echo l'opzione shell può essere utilizzata per determinare dinamicamente se o menoeco espande questi caratteri di escape per impostazione predefinita.eco non interpreta-- per significare la fine delle opzioni.eco interpreta le seguenti sequenze di escape:

un

avviso (campana)

b

backspace

c

sopprimere la nuova riga finale

e

un personaggio di fuga

f

modulo di alimentazione

n

nuova linea

r

ritorno a capo

t

scheda orizzontale

v

scheda verticale

\

backslash

nnn

il carattere a otto bit il cui valore è il valore ottale nnn (da zero a tre cifre ottali)

nnn

il carattere a otto bit il cui valore è il valore ottale nnn (da una a tre cifre ottali)

X HH

il carattere a otto bit il cui valore è il valore esadecimale HH (una o due cifre esadecimali)

abilitare -adnps -f nome del file nome …

Abilita e disabilita i comandi della shell incorporata. La disabilitazione di un built-in consente di eseguire un comando disk che ha lo stesso nome di una shell incorporata senza specificare un percorso completo, anche se la shell normalmente cerca i built-in prima dei comandi del disco. Se-n è usato, ciascuno nome è disabilitato; altrimenti, nomi sono abilitati. Ad esempio, per utilizzare iltest binario trovato tramite ilSENTIERO invece della versione integrata della shell, lancia "enable -n test". Il-f opzione significa caricare il nuovo comando incorporato nome dall'oggetto condiviso nome del file , su sistemi che supportano il caricamento dinamico. Il-d l'opzione cancellerà un builtin precedentemente caricato con-f. Se no nome argomenti sono forniti, o se il-p l'opzione è fornita, viene stampata una lista di builtin della shell. Senza altri argomenti di opzioni, la lista è composta da tutti i builtin della shell abilitati. Se-n viene fornito, vengono stampati solo i builtin disabilitati. Se-un viene fornito, l'elenco stampato include tutti i builtin, con un'indicazione se ciascuno è abilitato o meno. Se-S viene fornito, l'output è limitato a POSIX speciale builtins.

Il valore restituito è 0 a meno che a nome non è una shell incorporata o c'è un errore nel caricare un nuovo builtin da un oggetto condiviso.

eval arg …

Il arg s vengono letti e concatenati insieme in un unico comando. Questo comando viene quindi letto ed eseguito dalla shell e il suo stato di uscita viene restituito come valore dieval. Se non ci sono args , o solo argomenti nulli,eval restituisce 0.

exec -cl -un nome comando argomenti

Se comando è specificato, sostituisce la shell. Nessun nuovo processo è stato creato. Il argomenti diventare gli argomenti a comando . Se la-l l'opzione è fornita, la shell posiziona un trattino all'inizio del comando zeroth passato comando . Questo è ciò che accesso (1) fa. Il-ccause di opzione comando da eseguire con un ambiente vuoto. Se-un viene fornito, passa la shell nome come argomento zeroth per il comando eseguito. Se comando non può essere eseguito per qualche motivo, una shell non interattiva esce, a meno che l'opzione di shellexecfailè abilitato, nel qual caso restituisce un errore. Una shell interattiva restituisce un errore se il file non può essere eseguito. Se comando non è specificato, qualsiasi reindirizzamento ha effetto nella shell corrente e lo stato di ritorno è 0. Se c'è un errore di reindirizzamento, lo stato di ritorno è 1.

Uscita n

Causa la shell per uscire con uno stato di n . Se n è omesso, lo stato di uscita è quello dell'ultimo comando eseguito. Una trappolaUSCITA viene eseguito prima che la shell termini.

esportare -fn nome = parola …

esportazione -p

Il fornito nomi sono contrassegnati per l'esportazione automatica nell'ambiente dei comandi eseguiti successivamente. Se la-f l'opzione è data, il nomi fare riferimento alle funzioni. Se no nomi sono dati, o se il-p l'opzione è fornita, viene stampato un elenco di tutti i nomi esportati in questa shell. Il-n l'opzione fa sì che la proprietà di esportazione venga rimossa dalle variabili denominate.esportare restituisce uno stato di uscita pari a 0 a meno che non venga rilevata un'opzione non valida, uno dei nomi non è un nome di variabile shell valido o-f è fornito con a nome quella non è una funzione.

fc -e ename -nlr primo scorso

fc -S colpetto = rappresentante cmd

Comando di correzione. Nella prima forma, un intervallo di comandi da primo a scorso è selezionato dalla lista della storia. Primo e scorso può essere specificato come stringa (per individuare l'ultimo comando che inizia con quella stringa) o come numero (un indice nell'elenco cronologia, in cui un numero negativo viene utilizzato come offset dal numero di comando corrente). Se scorso non è specificato è impostato sul comando corrente per la quotazione (in modo che `` fc -l -10 '' stampi gli ultimi 10 comandi) e per primo altrimenti. Se primo non è specificato è impostato sul comando precedente per la modifica e -16 per l'elenco.

Il-n opzione sopprime i numeri dei comandi durante l'elencazione. Il-r l'opzione inverte l'ordine dei comandi. Se la-l l'opzione è data, i comandi sono elencati sullo standard output. Altrimenti, l'editor di ename viene invocato su un file contenente quei comandi. Se ename non è dato, il valore delFCEDIT viene utilizzata la variabile e il valore diEDITOR SeFCEDIT non è impostato. Se nessuna delle due variabili è impostata, viene utilizzata. Al termine della modifica, i comandi modificati vengono echeggiati ed eseguiti.

Nella seconda forma, comando viene rieseguito dopo ogni istanza di colpetto è sostituito da rappresentante . Un alias utile da usare con questo è `` r = fc -s '', così che digitando `` r cc '' si esegue l'ultimo comando che inizia con `` cc '' e digitando `` r '' ri-esegue l'ultimo comando.

Se viene utilizzato il primo modulo, il valore restituito è 0 a meno che non venga rilevata un'opzione non valida o primo o scorso specifica le linee di storia fuori intervallo. Se la-e l'opzione è fornita, il valore di ritorno è il valore dell'ultimo comando eseguito o un errore se si verifica un errore nel file temporaneo dei comandi. Se viene utilizzato il secondo modulo, lo stato di ritorno è quello del comando rieseguito, a meno che cmd non specifica una linea cronologia valida, nel qual casofc restituisce fallimento.

fg jobspec

Curriculum vitae jobspec in primo piano, e renderlo il lavoro attuale. Se jobspec non è presente, la nozione della conchiglia di lavoro attuale viene usato. Il valore restituito è quello del comando posizionato in primo piano o l'errore se eseguito quando il controllo dei lavori è disabilitato o, quando viene eseguito con il controllo dei lavori abilitato, se jobspec non specifica un lavoro valido o jobspec specifica un lavoro che è stato avviato senza controllo del lavoro.

getopts optstring nome args

getopts è usato dalle procedure di shell per analizzare i parametri posizionali. optstring contiene i caratteri opzione da riconoscere; se un carattere è seguito da due punti, l'opzione dovrebbe avere un argomento, che dovrebbe essere separato da esso da uno spazio bianco. I caratteri del punto e del punto interrogativo non possono essere usati come caratteri opzionali. Ogni volta che viene invocato,getopts posiziona l'opzione successiva nella variabile di shell nome , inizializzazione nome se non esiste, e l'indice dell'argomento successivo da elaborare nella variabileOPTIND. OPTIND è inizializzato a 1 ogni volta che viene invocata la shell o uno script di shell. Quando un'opzione richiede un argomento,getopts inserisce tale argomento nella variabileOPTARG. La shell non si resettaOPTIND automaticamente; deve essere ripristinato manualmente tra più chiamate agetopts all'interno della stessa chiamata di shell se deve essere utilizzato un nuovo set di parametri.

Quando viene incontrata la fine delle opzioni,getopts esce con un valore di ritorno maggiore di zero.OPTIND è impostato sull'indice del primo argomento non opzionale, enome è impostato per ?.

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

getopts può segnalare errori in due modi. Se il primo personaggio di optstring è un colon, silenzioso viene utilizzata la segnalazione degli errori. Durante il normale funzionamento, i messaggi di diagnostica vengono stampati quando si incontrano opzioni non valide o argomenti di opzioni mancanti. Se la variabileOPTERR è impostato su 0, nessun messaggio di errore verrà visualizzato, anche se il primo carattere di optstring non è un colon.

Se viene visualizzata un'opzione non valida,getopts posti ? in nome e, se non è silenzioso, stampa un messaggio di errore e si disattivaOPTARG. Segetopts è silenzioso, viene inserito il carattere dell'opzione trovatoOPTARG e nessun messaggio di diagnostica viene stampato.

Se un argomento richiesto non viene trovato, egetopts non è silenzioso, un punto interrogativo (?) è inserito nome , OPTARG è disinserito e viene stampato un messaggio di diagnostica. Segetopts è silenzioso, quindi un colon (:) è inserito nome eOPTARG è impostato sul carattere dell'opzione trovato.

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

hash -LR -p nome del file -dt nome

Per ciascuno nome , il nome completo del file del comando è determinato cercando le directory in$ PATH e ricordato. Se la-p l'opzione viene fornita, non viene eseguita la ricerca del percorso e nome del file viene utilizzato come nome file completo del comando. Il-r l'opzione fa in modo che la shell dimentichi tutte le posizioni memorizzate. Il-d l'opzione fa in modo che la shell dimentichi la posizione memorizzata di ciascuno nome . Se la-t l'opzione è fornita, il percorso completo a cui ciascuno nome corrisponde è stampato. Se multiplo nome argomenti sono forniti con-t, il nome viene stampato prima del nome percorso completo con hash. Il-l l'opzione fa sì che l'output sia visualizzato in un formato che può essere riutilizzato come input. Se non ci sono argomenti, o se solo-l viene fornito, vengono stampate le informazioni sui comandi memorizzati Lo stato di ritorno è vero a meno che a nome non viene trovato o viene fornita un'opzione non valida.

Aiuto -S modello

Mostra informazioni utili sui comandi integrati. Se modello è specificato,Aiuto fornisce una guida dettagliata su tutti i comandi corrispondenti modello ; in caso contrario, viene stampato un aiuto per tutti i builtin e le strutture di controllo della shell. Il-S opzione limita le informazioni visualizzate a una breve sinossi di utilizzo. Lo stato di ritorno è 0 a meno che nessun comando corrisponda modello .

storia n

storia -c

storia -d compensare

storia -anrw nome del file

storia -p arg arg …

storia -S arg arg …

Senza opzioni, visualizza la lista della cronologia dei comandi con i numeri di riga. Righe elencate con a*sono stati modificati Una discussione di n elenca solo l'ultimo n Linee. Se nome del file è fornito, è usato come nome del file di cronologia; se no, il valore diHISTFILE viene usato. Le opzioni, se fornite, hanno i seguenti significati:

-c

Cancellare l'elenco cronologico eliminando tutte le voci.

-d compensare

Elimina la voce della cronologia in posizione compensare .

-un

Aggiungi le linee di cronologia `` nuove '' (linee della cronologia immesse dall'inizio della correntebash sessione) al file di cronologia.

-n

Leggi le righe della cronologia non ancora lette dal file di cronologia nella cronologia corrente. Queste sono le linee aggiunte al file di cronologia dall'inizio della correntebash sessione.

-r

Leggi i contenuti del file di cronologia e usali come cronologia corrente.

-w

Scrivi la cronologia corrente nel file di cronologia, sovrascrivendo i contenuti del file di cronologia.

-p

Eseguire la sostituzione della cronologia su quanto segue args e visualizza il risultato sullo standard output. Non memorizza i risultati nell'elenco della cronologia. Ogni arg deve essere citato per disabilitare la normale espansione della cronologia.

-S

Conservare il args nell'elenco cronologico come singola voce. L'ultimo comando nella cronologia viene rimosso prima del args sono aggiunti.

Il valore di ritorno è 0, a meno che non venga rilevata un'opzione non valida, si verifica un errore durante la lettura o la scrittura del file di cronologia, non valido compensare viene fornito come argomento a-do l'espansione della cronologia fornita come argomento a-p non riesce.

lavori -lnprs jobspec …

lavori -X comando args …

Il primo modulo elenca i lavori attivi. Le opzioni hanno i seguenti significati:

-l

Elenca gli ID di processo oltre alle normali informazioni.

-p

Elencare solo l'ID di processo del leader del gruppo di processi del lavoro.

-n

Visualizza le informazioni solo sui lavori che hanno cambiato stato da quando l'utente ha ricevuto l'ultima notifica del loro stato.

-r

Limita l'output ai lavori in esecuzione.

-S

Limita l'output ai lavori interrotti.

Se jobspec è dato, l'output è limitato alle informazioni su quel lavoro. Lo stato di ritorno è 0 a meno che non venga riscontrata un'opzione non valida o non valida jobspec è fornito.

Se la-X l'opzione è fornita,lavori sostituisce qualsiasi jobspec trovato in comando o args con l'ID del gruppo di processo corrispondente ed eseguito comando passandolo args , restituendo il suo stato di uscita.

uccidere -S sigspec | -n Signum | - sigspec pid | jobspec …

uccidere -l sigspec | exit_status

Invia il segnale chiamato da sigspec o Signum ai processi indicati da pid o jobspec . sigspec è o un nome di segnale comeSIGKILL o un numero di segnale; Signum è un numero di segnale. Se sigspec è un nome di segnale, il nome può essere dato con o senza ilSIG prefisso. Se sigspec non è presente, quindiSIGTERM è assunto. Una discussione di-l elenca i nomi dei segnali. Se vengono forniti argomenti, quando-l è dato, i nomi dei segnali corrispondenti agli argomenti sono elencati, e lo stato di ritorno è 0. Il exit_status argomento a-l è un numero che specifica un numero di segnale o lo stato di uscita di un processo terminato da un segnale.uccidere restituisce true se almeno un segnale è stato inviato correttamente o false se si verifica un errore o se viene rilevata un'opzione non valida.

permettere arg arg …

Ogni arg è un'espressione aritmetica da valutare (vediARITMETICAVALUTAZIONE). Se l'ultimo arg valuta a 0,permettere restituisce 1; 0 viene restituito in caso contrario.

Locale opzione nome = valore …

Per ogni argomento, una variabile locale chiamata nome viene creato e assegnato valore . Il opzione può essere una qualsiasi delle opzioni accettate dadichiarare. quandoLocale è usato all'interno di una funzione, causa la variabile nome per avere un ambito visibile limitato a quella funzione e ai suoi figli. Senza operandi,Locale scrive un elenco di variabili locali sullo standard output. È un errore da usareLocale quando non all'interno di una funzione. Lo stato di ritorno è 0 a meno cheLocale è usato al di fuori di una funzione, non valido nome è fornito, o nome è una variabile di sola lettura.

disconnettersi

Esce da una shell di login.

popd -n + n - n

Rimuove le voci dallo stack di directory. Senza argomenti, rimuove la directory superiore dallo stack ed esegue aCD nella nuova directory principale. Gli argomenti, se forniti, hanno i seguenti significati:

+ n

Rimuove il n il conteggio delle voci da sinistra della lista indicata dadirs, a partire da zero. Ad esempio: `` popd +0 '' rimuove la prima directory, `` popd +1 '' la seconda.

- n

Rimuove il n il conteggio delle voci dalla destra della lista indicata dadirs, a partire da zero. Ad esempio: `` popd -0 '' rimuove l'ultima directory, `` popd -1 '' la penultima.

-n

Elimina la normale modifica della directory quando si rimuovono le directory dallo stack, in modo che venga manipolato solo lo stack.

Se lapopd il comando ha successo, adirs viene eseguito anche, e lo stato di ritorno è 0.popd restituisce false se viene rilevata un'opzione non valida, lo stack di directory è vuoto, viene specificata una voce dello stack di directory inesistente o la modifica della directory non riesce.

printf formato argomenti

Scrivi il formato argomenti allo standard output sotto il controllo del formato . Il formato è una stringa di caratteri che contiene tre tipi di oggetti: caratteri semplici, che vengono semplicemente copiati sullo standard output, sequenze di escape dei caratteri, che vengono convertiti e copiati sullo standard output e specifiche di formato, ognuno dei quali causa la stampa del successivo successivo discussione . Oltre allo standard printf (1) formati,b% causeprintf per espandere le sequenze di escape backslash nel corrispondente discussione , eq%causeprintf per emettere il corrispondente discussione in un formato che può essere riutilizzato come input della shell.

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

pushd -n dir

pushd -n + n - n

Aggiunge una directory all'inizio dello stack di directory o ruota lo stack, rendendo la nuova cima dello stack la directory di lavoro corrente. Senza argomenti, scambia le prime due directory e restituisce 0, a meno che lo stack delle directory non sia vuoto. Gli argomenti, se forniti, hanno i seguenti significati:

+ n

Ruota la pila in modo che il n la directory (contando a sinistra dell'elenco mostrato dadirs, a partire da zero) è in alto.

- n

Ruota la pila in modo che il n la directory (contando a destra dell'elenco mostrato dadirs, a partire da zero) è in alto.

-n

Elimina la normale modifica della directory quando si aggiungono le directory allo stack, in modo che venga manipolato solo lo stack.

dir

aggiunge dir allo stack di directory in alto, rendendolo la nuova directory di lavoro corrente.

Se lapushd il comando ha successo, adirs viene eseguito pure. Se viene usata la prima forma,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, venga specificato un elemento stack di directory inesistente o la modifica della directory alla nuova directory corrente specificata non riesca.

pwd -LP

Stampa il percorso assoluto della directory di lavoro corrente. Il percorso stampato non contiene collegamenti simbolici se il-P l'opzione è fornita o il-o fisico opzione per ilimpostatoil comando incorporato è abilitato. Se la-L l'opzione è utilizzata, il 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 che venga fornita un'opzione non valida.

leggere -ers -u fd -t tempo scaduto -un un nome -p richiesta -n nchars -d delim nome …

Una riga viene letta dallo standard input o dal descrittore di file fd fornito come argomento al-u opzione, e la prima parola è assegnata al primo nome , la seconda parola al secondo nome e così via, con le parole avanzate e i loro separatori intermedi assegnati all'ultimo nome . Se il flusso di input contiene meno parole rispetto ai nomi, ai nomi rimanenti vengono assegnati valori vuoti. I personaggi inIFS sono usati per dividere la linea in parole. Il carattere backslash () può essere usato per rimuovere qualsiasi significato speciale per il prossimo carattere letto e per la continuazione della linea. Le opzioni, se fornite, hanno i seguenti significati:

-un un nome

Le parole sono assegnate agli indici sequenziali della variabile di matrice un nome , a partire da 0. un nome è disattivato prima che vengano assegnati nuovi valori. Altro nome gli argomenti sono ignorati.

-d delim

Il primo personaggio di delim viene utilizzato per terminare la riga di input, anziché newline.

-e

Se lo standard input proviene da un terminale,linea di lettura (vedereLINEA DI LETTURAsopra) viene utilizzato per ottenere la linea.

-n nchars

leggere ritorna dopo aver letto nchars personaggi piuttosto che aspettare una linea completa di input.

-p richiesta

Display richiesta su errore standard, senza una nuova riga finale, prima di tentare di leggere qualsiasi input. Il prompt viene visualizzato solo se l'input proviene da un terminale.

-r

La barra rovesciata non funge da carattere di escape. Il backslash è considerato parte della linea. In particolare, una coppia backslash-newline non può essere utilizzata come una continuazione di riga.

-S

Modalità silenziosa. Se l'input proviene da un terminale, i caratteri non vengono echeggiati.

-t tempo scaduto

Causaleggere timeout e return failure se non viene letta una riga completa di input tempo scaduto secondi. Questa opzione non ha effetto seleggere non sta leggendo l'input dal terminale o da una pipe.

-u fdFP

Leggi l'input dal descrittore di file fd .

Se no nomi vengono forniti, la riga letta viene assegnata alla variabileRISPONDERE. Il codice di ritorno è zero, a meno che non si verifichi la fine del file,leggere timeout o un descrittore di file non valido viene fornito come argomento-u.

sola lettura -apf nome …

Il dato nomi sono contrassegnati in sola lettura; i valori di questi nomi non può essere modificato da un incarico successivo. Se la-f l'opzione è fornita, le funzioni corrispondenti a nomi sono così marcati Il-un l'opzione limita le variabili agli array. Se no nome argomenti sono forniti, o se il-p l'opzione è fornita, viene stampato un elenco di tutti i nomi di sola lettura. Il-pl'opzione fa sì che l'output sia visualizzato in un formato che può essere riutilizzato come input. Lo stato di ritorno è 0 a meno che non si trovi un'opzione non valida, una delle nomi non è un nome di variabile shell valido o-f è fornito con a nome quella non è una funzione.

ritorno n

Fa uscire una funzione con il valore restituito specificato da n . Se n è omesso, lo stato di ritorno è quello dell'ultimo comando eseguito nel corpo della funzione. Se usato al di fuori di una funzione, ma durante l'esecuzione di uno script da parte di. (fontecomando, fa sì che la shell smetta di eseguire quello script e restituisca entrambi n o lo stato di uscita dell'ultimo comando eseguito all'interno dello script come stato di uscita dello script. Se usato al di fuori di una funzione e non durante l'esecuzione di uno script di., lo stato di ritorno è falso.

impostato --abefhkmnptuvxBCHP -o opzione arg …

Senza opzioni, il nome e il valore di ogni variabile di shell vengono visualizzati in un formato che può essere riutilizzato come input. L'output è ordinato in base alla locale corrente. Quando vengono specificate le opzioni, impostano o disattivano gli attributi della shell. Gli argomenti rimanenti dopo l'elaborazione delle opzioni vengono considerati come valori per i parametri posizionali e vengono assegnati, in ordine, a$1, $2, $ n . Le opzioni, se specificate, hanno i seguenti significati:

-un

Contrassegna automaticamente le variabili e le funzioni che vengono modificate o create per l'esportazione nell'ambiente dei comandi successivi.

-b

Segnala lo stato dei lavori in background terminati immediatamente, piuttosto che prima del prossimo prompt primario. È efficace solo quando il controllo dei lavori è abilitato.

-e

Esci immediatamente se a comando semplice (vedereSHELL GRAMMAR sopra) esce con uno stato diverso da zero. La shell non esce se il comando che fallisce fa parte di un fino a o mentre loop, parte di un Se dichiarazione, parte di a&& o|| lista, o se il valore di ritorno del comando viene invertito tramite!. Una trappolaERR, se impostato, viene eseguito prima che la shell esca.

-f

Disabilita l'espansione del nome del percorso.

-h

Ricorda la posizione dei comandi mentre vengono cercati per l'esecuzione. Questo è abilitato di default.

-K

Tutti gli argomenti sotto forma di istruzioni di assegnazione vengono inseriti nell'ambiente per un comando, non solo quelli che precedono il nome del comando.

-m

Modalità di monitoraggio. Il controllo del lavoro è abilitato. Questa opzione è attiva per impostazione predefinita per shell interattive su sistemi che la supportano (vediCONTROLLO DEL LAVORO sopra). I processi in background vengono eseguiti in un gruppo di processi separato e una riga contenente il loro stato di uscita viene stampata al completamento.

-n

Leggi i comandi ma non li esegui. Questo può essere usato per controllare uno script di shell per gli errori di sintassi. Questo è ignorato dalle shell interattive.

-o nome-opzione

Il nome-opzione può essere uno dei seguenti:

allexport

Uguale a-un.

braceexpand

Uguale a-B.

emacs

Utilizza un'interfaccia di modifica della riga di comando in stile emacs. Questo è abilitato di default quando la shell è interattiva, a meno che la shell non sia stata avviata con- no editing opzione.

errexit Lo

Uguale a-e.

hashall

Uguale a-h.

histexpand

Uguale a-H.

storia

Abilita la cronologia dei comandi, come descritto sopraSTORIAQuesta opzione è attiva per impostazione predefinita nelle shell interattive.

ignoreeof

L'effetto è come se fosse stato eseguito il comando di shell `` IGNOREEOF = 10 '' (vediShell Variables sopra).

parola chiave

Uguale a-K.

tenere sotto controllo

Uguale a-m.

noclobber

Uguale a-C.

noexec

Uguale a-n.

noglob

Uguale a-f. nolog Attualmente ignorato.

notificare

Uguale a-b.

nounset

Uguale a-u.

onecmd

Uguale a-t.

fisico

Uguale a-P.

posix

Cambia il comportamento dibash dove l'operazione predefinita differisce dallo standard POSIX 1003.2 per corrispondere allo standard ( modalità posix ).

privilegiato

Uguale a-p.

verboso

Uguale a-v.

VI

Utilizzare un'interfaccia di modifica della riga di comando in stile vi.

xtrace

Uguale a-X.

Se-o è fornito con no nome-opzione , i valori delle opzioni correnti sono stampati. Se+ o è fornito con no nome-opzione , una serie diimpostatoi comandi per ricreare le impostazioni delle opzioni correnti vengono visualizzati sullo standard output.

-p

Accendere privilegiato modalità. In questa modalità, il$ ENV e$ BASH_ENV i file non vengono elaborati, le funzioni della shell non vengono ereditate dall'ambiente eSHELLOPTS variabile, se appare nell'ambiente, viene ignorata. Se la shell viene avviata con l'id utente effettivo (gruppo) non uguale all'id utente reale (gruppo), e il-p l'opzione non viene fornita, queste azioni vengono eseguite e l'ID utente effettivo è impostato sull'ID utente reale. Se la-p l'opzione viene fornita all'avvio, l'id utente effettivo non viene ripristinato. Disattivando questa opzione, gli ID utente e di gruppo effettivi vengono impostati sugli ID utente e gruppo reali.

-t

Esci dopo aver letto ed eseguito un comando.

-u

Tratta le variabili non impostate come un errore quando si esegue l'espansione dei parametri. Se viene tentata l'espansione su una variabile non impostata, la shell stampa un messaggio di errore e, se non interattiva, esce con uno stato diverso da zero.

-v

Stampa le linee di input della shell mentre vengono lette.

-X

Dopo l'espansione di ciascuno comando semplice , mostra il valore espanso diPS4seguito dal comando e dai suoi argomenti espansi.

-B

La shell esegue l'espansione delle parentesi graffe (vediBrace Expansion sopra). Questo è attivo per impostazione predefinita.

-C

Se impostato,bash non sovrascrive un file esistente con>, >&, e<>operatori di reindirizzamento. Questo può essere sovrascritto durante la creazione di file di output utilizzando l'operatore di reindirizzamento>| invece di>.

-H

Abilitare! sostituzione della storia di stile. Questa opzione è attiva per impostazione predefinita quando la shell è interattiva.

-P

Se impostato, la shell non segue i collegamenti simbolici quando esegue comandi comeCD che cambia la directory di lavoro corrente. Usa invece la struttura della directory fisica. Di default,bash segue la catena logica delle directory quando si eseguono comandi che cambiano la directory corrente.

--

Se nessun argomento segue questa opzione, i parametri posizionali non vengono impostati. Altrimenti, i parametri posizionali sono impostati su arg s, anche se alcuni di loro iniziano con a-.