[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [volume] [parte]


Capitolo 155.   Shell POSIX: altri comandi interni

Comando Descrizione
:[argomenti]
Ciò che inizia con il simbolo : non viene eseguito. Si ottiene solo l'espansione degli argomenti e l'esecuzione della ridirezione. Il valore restituito alla fine è sempre zero.
. file_script [argomenti]
Vengono letti ed eseguiti i comandi contenuti nel file indicato. Se il nome del file non fa riferimento a un percorso, questo viene cercato all'interno dei vari percorsi elencati dalla variabile PATH. Se vengono forniti degli argomenti, questi diventano i parametri posizionali dello script. Il valore restituito dallo script è: quello dell'ultimo comando eseguito al suo interno; zero (Vero) se non vengono eseguiti comandi; Falso (un valore diverso da zero) se il file non è stato trovato.
alias [nome[=valore]]...
Il comando alias permette di definire un alias, oppure di leggere il contenuto di un alias particolare, o di elencare tutti gli alias esistenti.
Se viene utilizzato senza argomenti, emette attraverso lo standard output la lista degli alias nella forma nome=valore. Se viene indicato solo il nome di un alias, ne viene emesso il nome e il contenuto. Se si utilizza la sintassi completa si crea un alias nuovo.
La coppia nome=valore deve essere scritta senza lasciare spazi prima e dopo del segno di uguaglianza (=).
Il comando alias restituisce il valore Falso quando è stato indicato un alias inesistente senza valore da assegnare, negli altri casi restituisce Vero.
bg [specificazione_del_job]
Mette sullo sfondo il job indicato, come se fosse stato avviato aggiungendo il simbolo e-commerciale (&) alla fine. Se non viene specificato il job, viene messo sullo sfondo quello corrente, dal punto di vista della shell. Se l'operazione riesce, il valore restituito è zero.
break [n]
Interrompe un ciclo for, while o until. Se viene specificato il valore numerico n, l'interruzione riguarda n livelli. Il valore n deve essere maggiore o uguale a uno. Se n è maggiore dei cicli annidati in funzione, vengono semplicemente interrotti tutti. Il valore restituito è zero purché ci sia un ciclo da interrompere.
cd [directory]
Cambia la directory corrente. Se non viene specificata la destinazione, si intende la directory contenuta nella variabile HOME (che di solito corrisponde alla directory personale dell'utente). Il funzionamento di questo comando può essere alterato dal contenuto della variabile CDPATH che può indicare una serie di percorsi di ricerca per la directory su cui ci si vuole spostare. Di norma, la variabile CDPATH è opportunamente vuota, in modo da fare riferimento semplicemente alla directory corrente.
command comando [argomento...]
Esegue un «comando» con degli argomenti eventuali. Il comando che si avvia può essere solo un comando interno oppure un programma, mentre sono escluse espressamente le funzioni.
continue [n]
Riprende, a partire dall'iterazione successiva, un ciclo for, while o until. Se viene specificato il valore numerico n, il salto riguarda n livelli. Il valore n deve essere maggiore o uguale a uno. Se n è maggiore dei cicli annidati in funzione, si fa riferimento al ciclo più esterno. Il valore restituito è zero, a meno che non ci sia alcun ciclo da riprendere.
eval [argomento...]
Esegue gli argomenti come parte di un comando unico. Restituisce il valore restituito dal comando rappresentato dagli argomenti. Se non vengono indicati argomenti, o se questi sono vuoti, restituisce Vero.
exec [ comando [argomenti]]
Se viene specificato un comando (precisamente deve essere un programma), questo viene eseguito rimpiazzando la shell, in modo da non generare un nuovo processo. Se sono stati indicati degli argomenti, questi vengono passati regolarmente al comando.
Il fatto di rimpiazzare la shell implica che, al termine dell'esecuzione del programma, non c'è più la shell. Nel caso si utilizzi exec da una finestra di terminale, questa potrebbe chiudersi semplicemente, oppure, se si tratta di una shell di login potrebbe essere riavviata la procedura di accesso.
exit [n]
Termina l'esecuzione della shell restituendo il valore n. Se viene omessa l'indicazione esplicita del valore da restituire, viene utilizzato quello dell'ultimo comando eseguito.
export nome...
Le variabili elencate vengono segnate per l'esportazione, nel senso che vengono trasferite all'ambiente dei programmi eseguiti successivamente all'interno della shell stessa.
fg [job]
Pone il job indicato in primo piano, ovvero in foreground. Se non viene specificato il job, si intende quello attuale, ovvero, l'ultimo a essere stato messo sullo sfondo (background).
getopts stringa_di_opzioni \
  \nome_di_variabile [argomenti]
Il comando interno getopts serve per facilitare la realizzazione di script in cui si devono analizzare le opzioni della riga di comando. Ogni volta che viene chiamato, getopts analizza l'argomento successivo nella riga di comando, restituendo le informazioni relative attraverso delle variabili di ambiente. Per la precisione, getopts analizza gli argomenti finali della sua stessa riga di comando (quelli che sono stati indicati nello schema sintattico come un elemento facoltativo) e in mancanza di questi utilizza il contenuto del parametro @. L'utilizzo di getopts può risultare complesso, pertanto viene descritto meglio in una sezione apposita.
hash [-r] [comando...]
Per ciascun comando indicato, viene determinato e memorizzato il percorso assoluto.
Se non viene dato alcun argomento, si ottiene l'elenco dei comandi memorizzati.
Se si usa l'opzione -r si cancellano i percorsi memorizzati.
jobs [job...]
Quello mostrato rappresenta lo schema sintattico dell'utilizzo comune di jobs, che serve a elencare i job attivi.
Se viene indicato esplicitamente un job, l'elenco risultante è ristretto alle sole informazioni su quel job.
kill [-s segnale] [pid | job]...
kill -l [numero_del_segnale]
Invia il segnale indicato al processo identificato dal numero del PID o dal job. Il segnale viene definito attraverso un nome, come per esempio KILL (per garantire la compatibilità massima conviene evitare l'uso del prefisso SIG), o un numero di segnale. Se non viene indicato il tipo di segnale da inviare, si intende TERM. Un argomento -l elenca i nomi dei segnali corrispondenti ai numeri eventualmente indicati.
typeset [nome[=valore]]
local [nome[=valore]]
Permette di dichiarare delle variabili ed eventualmente anche di attribuirgli dei valori. Se non vengono forniti nomi di variabili da creare, vengono visualizzati i nomi di quelle esistenti con i loro valori.
Il comando typeset prevede diverse opzioni per attribuire caratteristiche particolari alle variabili, ma in generale, per problemi di compatibilità, conviene usarlo senza opzioni, all'interno delle funzioni, per creare delle variabili locali. Per questa ragione, viene qui abbinato al comando local, che dovrebbe permettere di creare esclusivamente delle variabili locali all'interno delle funzioni.
pwd
Emette il percorso assoluto della directory corrente. Se viene usata l'opzione -P, i percorsi che utilizzano collegamenti simbolici vengono tradotti in percorsi reali.
Restituisce zero se non si verifica alcun errore mentre si legge il percorso della directory corrente.
read [-p prompt] variabile...
Viene letta una riga dallo standard input, assegnando la prima parola di questa riga alla prima variabile indicata come argomento, assegnando la seconda parola alla seconda variabile e così via. All'ultima variabile indicata nella riga di comando viene assegnato la parte restante della riga dello standard input che non sia stata distribuita diversamente. Per determinare la separazione in parole della riga dello standard input si utilizzano i caratteri contenuti nella variabile IFS.
L'opzione -p permette di definire un invito particolare. Questo viene visualizzato solo se l'input proviene da un terminale.
readonly [variabile...]
readonly -p
Le variabili indicate vengono marcate per la sola lettura e i valori di queste non possono essere cambiati dagli assegnamenti successivi. Se viene indicata l'opzione -p, si ottiene una lista di tutti i nomi a sola lettura.
return [n]
Termina l'esecuzione di una funzione restituendo il valore n. Se viene omessa l'indicazione di questo valore, la funzione che termina restituisce il valore restituito dall'ultimo comando eseguito al suo interno. Se il comando return viene utilizzato al di fuori di una funzione, ma sempre all'interno di uno script, termina l'esecuzione dello script stesso.
shift [n]
I parametri posizionali da n+1 in avanti sono spostati a partire dal primo in poi (il parametro zero non viene coinvolto). Se n è 0, nessun parametro viene cambiato. Se n non è indicato, il suo valore predefinito è uno. Il valore di n deve essere un numero non negativo minore o uguale al parametro # (cioè al numero di parametri posizionali esistenti). Se n è più grande del parametro #, i parametri posizionali non vengono modificati.
Restituisce Falso se n è più grande del parametro # o minore di zero; altrimenti restituisce Vero.
times
Emette i tempi di utilizzo accumulati.
trap [argomento] [segnale]
Il comando espresso nell'argomento deve essere letto ed eseguito quando la shell riceve il segnale, o i segnali indicati. Se non viene fornito l'argomento, o viene indicato un trattino (-) al suo posto, tutti i segnali specificati sono riportati al loro valore originale (i valori che avevano al momento dell'ingresso nella shell). Se l'argomento fornito corrisponde a una stringa nulla, questo segnale viene ignorato dalla shell e dai comandi che questo avvia. Se il segnale è EXIT, pari a zero, il comando contenuto nell'argomento viene eseguito all'uscita della shell.
Se viene utilizzato senza argomenti, trap emette la lista di comandi associati con ciascun numero di segnale. I segnali intercettati sono riportati al loro valore originale in un processo discendente quando questo viene creato.
type nome...
Determina le caratteristiche di uno o più comandi indicati come argomento.
Restituisce Vero se uno qualsiasi degli argomenti viene trovato, Falso se non ne viene trovato alcuno.
umask [modalità]
La maschera dei permessi per la creazione dei file dell'utente viene modificata in modo da farla coincidere con la modalità indicata. Generalmente può essere inserita la modalità soltanto in forma di numero ottale. Se la modalità viene omessa si ottiene il valore corrente della maschera.
unalias [-a] [nome_di_alias...]
Rimuove l'alias indicato dalla lista degli alias definiti. Se viene fornita l'opzione -a, sono rimosse tutte le definizioni di alias.
unset [-v] nome_variabile...
unset -f nome_funzione...
Vengono rimosse le variabili o le funzioni indicate. Se viene utilizzata l'opzione -f, si fa riferimento espressamente a funzioni; se si indica l'opzione -v ci si riferisce espressamente a variabili. Se non si indicano opzioni e ci può essere ambiguità tra i nomi, vengono rimosse le variabili.
wait [n]
Attende la conclusione del processo specificato e restituisce il suo valore di uscita. Il numero n può essere un PID o un job; se viene indicato un job, si attende la conclusione di tutti i processi nel condotto di quel job. Se n non viene indicato, si aspetta la conclusione di tutti i processi discendenti ancora attivi, restituendo il valore zero. Se n specifica un processo o un job che non esiste, viene restituito il valore Falso, altrimenti il valore restituito è lo stesso dell'ultimo processo o job per cui si è attesa la conclusione.

Appunti di informatica libera 2007.02 --- Copyright © 2000-2007 Daniele Giacomini -- <daniele (ad) swlibero·org>


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome shell_posix_altri_comandi_interni.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico]

Valid ISO-HTML!

CSS validator!