Ricerca nel sito web

Linux test Command Tutorial per principianti (con esempi)


Su questa pagina

  1. Comando di test di Linux
  2. D1. Come confrontare due stringhe?
  3. Q2. Come confrontare i numeri interi usando il test?
  4. Q3. Come testare/confrontare i file usando test?
  5. Q4. In che modo il comando test gestisce i collegamenti simbolici?
  6. Conclusione

Quando lavori con la riga di comando di Linux, a volte vuoi testare certe cose, come i valori interi o se un file è o meno di un certo tipo. È disponibile un'utilità della riga di comando di test incorporata che è possibile utilizzare per eseguire la maggior parte di questi confronti e test.

In questo tutorial, spiegheremo le basi di questo strumento con alcuni esempi di facile comprensione. Ma prima di farlo, dobbiamo menzionare che tutti gli esempi in questo articolo sono stati testati su Ubuntu 22.04 LTS.

Comando di prova Linux

Come già accennato in precedenza, il comando test viene utilizzato per eseguire controlli e confronti. Ecco la sua sintassi:

test EXPRESSION

Ed ecco cosa dice la pagina man su questa utility:

test - check file types and compare values

Di seguito sono riportati alcuni esempi in stile Q&A che dovrebbero darti una buona idea di come funziona lo strumento.

Nota: tieni presente che alcune delle opzioni della riga di comando fornite da test sono molto utili se utilizzate all'interno di script di shell.

Q1. Come confrontare due stringhe?

Semplice, devi solo usare il segno uguale a (=) tra di loro. Per esempio:

test howto = forge

Un modo migliore sarebbe scrivere qualcosa del genere:

test howto = forge && echo "same"

Quindi, se le stringhe sono uguali, la parola \stessa\ dovrebbe essere stampata in output, altrimenti non dovrebbe essere stampato nulla.

Allo stesso modo, puoi utilizzare il seguente modello se desideri testare la disuguaglianza.

STRING1 != STRING2

D2. Come confrontare i numeri interi usando il test?

Anche questo è molto semplice: basta confrontarli usando -eq. Per esempio:

test 5 -eq 7 && echo "same"

Ecco uno screenshot che mostra come funziona questa opzione della riga di comando:

Allo stesso modo, puoi usare -ge per verificare maggiore o uguale a, -gt per maggiore di, -le per minore o uguale a, -lt per minore e -ne per diverso.

D3. Come testare/confrontare i file usando test?

Per verificare quale dei due file è più recente, utilizzare -nt. Per esempio:

test file1 -nt file2

Ecco come l'ho testato sul mio sistema:

Altri confronti di file che è possibile eseguire includono quale tra i due file è più vecchio (-ot) e se due file hanno lo stesso numero di dispositivo e inode (-ef).

Per verificare se un determinato file è una directory, utilizzare l'opzione -d nel modo seguente:

prova -d [nome file]

Per esempio:

prova -d nuova_dir

Di seguito sono riportate alcune altre opzioni di test del tipo di file offerte dal comando test:

D4. In che modo il comando test gestisce i collegamenti simbolici?

Il comando test dereferenzia i collegamenti simbolici, anche se ci sono un paio di eccezioni. Di seguito è riportato ciò che la pagina man dice al riguardo:

Except for -h and -L, all FILE-related tests dereference symboliclinks.

Nel caso non lo sapessi, sia -h che -L controllano se un file esiste ed è un collegamento simbolico, quindi la loro esclusione ha senso, giusto?

Conclusione

Il comando test offre molte opzioni, ma in generale puoi raggrupparle in 3-4 categorie. Abbiamo fornito esempi su ogni categoria. Quindi provali e, quando hai finito, vai alla pagina man delle utilità per ulteriori informazioni.