La console di comando Linux è senza dubbio qualcosa come il soggiorno di tutti noi che siamo fan di questo sistema operativo. Gli innumerevoli comandi che le offerte di Linux fanno parte del nostro ambiente di lavoro quotidiano e molti di loro che conosciamo e usiamo a memoria. La possibilità di eseguire questi comandi in Linux dal nostro codice C e interagire direttamente con il sistema operativo da lì apre una serie di risorse molto utili per il programmatore.
In questo Suggerimento Linux Articolo, spiegheremo tutto ciò che devi sapere per eseguire i comandi dal codice C usando il sistema() funzione. Spiegheremo il quadro teorico di questa funzione, i suoi argomenti di input e output e il tipo di dati che accetta in ciascun caso. Applicheremo quindi ciò che abbiamo appreso in un esempio pratico che include i frammenti di codice in cui eseguiamo i vari comandi Linux dal nostro codice C.
Sintassi della funzione System () in lingua C
int system (const char *str);
Descrizione della funzione System () in lingua C
IL sistema() La funzione esegue un comando nella shell di sistema Linux o in un altro sistema operativo.
Se il comando viene eseguito correttamente, sistema() restituisce "0".
Questa funzione ha un puntatore alla stringa STR come unico argomento di input, che contiene il comando da eseguire nel sistema verbatim e senza errori di sintassi.
IL sistema() La funzione esegue i comandi nel sistema Linux, ma non recupera alcuna informazione o restituisce alcun risultato del comando eseguito.
Sistema() fa parte della libreria standard "stdlib". Per usarlo, dobbiamo includerlo nel nostro file di codice come segue:
#includere
Una volta il "stdlib.La libreria h "è inclusa, possiamo utilizzare la funzione System ().
Successivamente, vedremo alcuni esempi di utilizzo della funzione System () per eseguire i vari comandi nell'interprete Linux.
Esempio 1: come eseguire un comando nell'interprete Linux usando la funzione System () in C
In questo esempio, apriamo un file con la funzione fopen () e utilizziamo la funzione system () per inviare un segnale acustico al sistema in caso di errore di apertura.
La funzione fopen () restituisce 0 se si verifica un errore all'apertura del file. Mettiamo questo valore come condizione in una condizione if ed eseguiamo il comando "bip" nell'interprete con sistema () Per informare l'utente sul suo errore.
Vediamo il codice a questo scopo nella seguente illustrazione. Nel percorso che specifica il file, inseriamo il nome di un file inesistente per generare un errore:
#includere
#includere
void main ()
File *f_ptr;
Char Buffer [250];
f_ptr = fopen ("documenti/ non esistono", "r");
if (f_ptr == 0)
Sistema ("Beep")
printf (“No tali file \ n");
Esempio 2: come riconoscere se il comando eseguito con la funzione system () viene interpretato correttamente
In questo esempio, spieghiamo come determinare se il comando viene eseguito correttamente nella console Linux. Un errore nell'esecuzione del comando stesso non si riferisce a un errore nell'esecuzione della funzione System (). Pertanto, il sistema non registra questa eccezione nella variabile del codice di errore, "Errno".
Come menzionato nella descrizione, la funzione System () esegue i comandi sul sistema, ma non restituisce i risultati.
L'argomento di output di questa funzione è un numero intero che restituisce "0" se il comando viene eseguito correttamente sul sistema. Altrimenti, restituisce un altro valore.
Successivamente, vediamo un frammento di codice in cui utilizziamo il ritorno del sistema() funzione per determinare se il comando viene eseguito correttamente.
In questo codice, inviamo il comando "bip". Ma per la pratica di questo esempio, possiamo inviare i vari comandi corretti e errati nell'argomento di input del sistema() funzione per vedere i diversi risultati.
Usiamo il ritorno del sistema() Funzionare come una condizione in una condizione IF-ELSE. Se il comando viene eseguito correttamente, un messaggio viene visualizzato sullo schermo con il seguente testo:
“Il comando è stato eseguito correttamente."
Altrimenti, viene visualizzato il seguente messaggio:
“Il comando non è stato riconosciuto o non ha potuto essere eseguito."
#includere
#includere
void main ()
int a;
sistema ("bip");
if (a == 0)
printf (“Il comando è stato eseguito correttamente \ n");
altro
printf (“Il comando non è stato riconosciuto o non ha potuto essere eseguito \ n");
Conclusione
In questo Suggerimento Linux Articolo, abbiamo spiegato come usare il sistema() funzione per eseguire i comandi nella shell Linux. Abbiamo anche esaminato l'argomento di input e i dati che accetta, nonché l'argomento output e il valore di restituzione quando il comando viene eseguito correttamente.
Inoltre, abbiamo fornito alcuni esempi pratici con frammenti di codice e immagini che mostrano come utilizzare questa funzione chiamando ed eseguendo i vari comandi dell'interprete Linux sistema(). Speriamo che questo articolo sia utile per te. Per altri articoli come questo, usa il nostro motore di ricerca sul sito Web.