GNU/Linux >> Znalost Linux >  >> Linux

Jaký je význam `! -d` v tomto příkazu Bash?

-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ář"


Linux
  1. Co znamená POSIX?

  2. Co znamená dvojitý znak dolaru v bash/Makefile?

  3. '&&' vs. '&' s příkazem 'test' v Bash

  1. Jaké je použití $# v Bash

  2. Co znamená 10.0.0.1/24 adresa mého počítače (z příkazu ip addr)?

  3. Co má příkaz export dělat v Linuxu?

  1. Příkaz „eval“ v Bash?

  2. Chápete význam `$_`?

  3. Co dělá -e v bash shebang?