Questa guida dimostra come utilizzare il comando bash test.
Comando di prova
Il comando di test prende un file ESPRESSIONE come argomento. Dopo aver calcolato l'espressione, il test restituisce un valore alla variabile bash “$?". Se il valore è 0, allora la valutazione dell'espressione era vera. Se il valore è 1, allora la valutazione dell'espressione era falsa.
Esistono due sintassi per l'utilizzo del comando di test.
$ test espressione
$ [Espressione]
Si noti che nel caso di "[", c'è uno spazio ad entrambe le estremità del ESPRESSIONE.
Utilizzo del test
Ecco un breve esempio di come funziona il comando di prova. Controlleremo se 1 uguale a 2. Se vero, l'output sarà "vero". Altrimenti, l'output sarà "falso".
$ test 1 -eq 2 && echo “true” || Echo "false"
Rompilo.
Se la parte del test è vera, allora il primo comando Echo. Altrimenti, il secondo comando Echo eseguirà.
Lo stesso comando può essere espresso usando "[".
$ [1 -eq 2] && echo “vero” || Echo "false"
Espressione
L'espressione è ciò che dà al comando di prova il suo vero potere. Il test può utilizzare stringhe, file e numeri interi per il confronto. Ecco un rapido elenco di tutti i formati di espressione del test disponibili.
Corda
Nella programmazione, una stringa è un insieme di caratteri che vengono generalmente utilizzati per rappresentare il testo. Ad esempio, "Hello World" nel seguente comando Echo è trattato come una stringa.
$ echo “Ciao mondo."
Il comando di test supporta le seguenti espressioni di stringa.
Proviamo queste espressioni.
$ [-n "Hello World"] && echo "vero" || Echo "false"
$ [-Z "Hello World"] && echo "vero" || Echo "false"
$ ["Hello World" != "Hello World"] && echo "vero" || Echo "false"
$ ["Hello World" = "Hello World"] && echo "True" || Echo "false"
Numero intero
Il primo esempio in questa guida dimostra il confronto intero. Esistono altri modi per confrontare i numeri interi.
Mettiamo in azione queste espressioni.
$ [5 -eq 10] && echo “vero” || Echo "false"
$ [5 -gt 2] && echo “vero” || Echo "false"
$ [4 -le 5] && echo “vero” || Echo "false"
File
I file possono anche far parte dell'espressione. Ecco l'elenco delle espressioni di file supportate.
Il resto delle espressioni di file supportate è correlato a una singola proprietà di un singolo file.
Diamo un'occhiata ad alcuni esempi.
$ [-x/usr/bin/bash] && echo $?
$ [-s /bin /bash] && echo $?
$ [-r /bin] && echo $?
$ [-e /hello_world] && echo "true" || echo "false"
Implementazione del test negli script bash
Finora, abbiamo dimostrato come utilizzare il comando di test per determinare se una determinata condizione è vera o falsa. Possiamo implementarlo in script bash per prendere decisioni utili.
Dai un'occhiata al seguente breve script.
#!/Bin/Bash
if [$ (whoami) = root]; Poi
Echo "Root"
altro
echo "non root"
fi
Qui, l'istruzione IF controllerà se la condizione è vera o falsa. Usando il comando di prova, possiamo facilmente ottenere il valore booleano.
Esegui lo script con e senza privilegio di root.
$ ./manichino.sh
$ sudo ./manichino.sh
È una semplice dimostrazione di affermazione If-Else. Sentiti libero di controllare le dichiarazioni di Bash If-Else per ulteriori applicazioni approfondite.
Pensieri finali
Il comando di test è semplice ma potente. Questa guida spiega e dimostra vari modi di utilizzare il test. L'elenco completo di tutte le espressioni supportate è disponibile sulla pagina Man.
$ Man Test
Felice calcolo!