-d
je operátor, který otestuje, zda daný adresář existuje nebo ne.
Například mám jediný adresář s názvem /home/sureshkumar/test/.
Proměnná adresáře obsahuje "/home/sureshkumar/test/"
if [ -d $directory ]
Tato podmínka platí pouze v případě, že adresář existuje. V našem příkladu adresář existuje, takže tato podmínka je pravdivá.
Měním proměnnou adresáře na "/home/a/b/". Tento adresář neexistuje.
if [ -d $directory ]
Nyní je tato podmínka nepravdivá. Pokud vložím !
vpředu, pokud adresář neexistuje, pak je podmínka if pravdivá. Pokud adresář existuje, pak if [ ! -d $directory ]
podmínka je nepravdivá.
Provoz ! operátor je, pokud je podmínka pravdivá, pak říká, že podmínka je nepravdivá. Pokud je podmínka nepravdivá, znamená to, že podmínka je pravdivá. Toto je dílo ! operátor.
if [ ! -d $directory ]
Tato podmínka platí pouze v případě, že adresář $ neexistuje. Pokud adresář existuje, vrátí hodnotu false.
Závorky představují spustitelný soubor, vykřičník je negace a -d
volba kontroluje, zda je proměnná $directory
je adresář.
Z testu muže:
-d FILE
FILE exists and is a directory
! EXPRESSION
EXPRESSION is false
Výsledkem je příkaz if, který říká „if $directory
není adresář"