Portál AbcLinuxu, 8. května 2025 22:15

Dotaz: Kontrola zápisu if v bash

10.4.2013 16:06 Michal
Kontrola zápisu if v bash
Přečteno: 279×
Odpovědět | Admin
Ahoj, který zápis pro bash je správný? Díky
if ! [ -d /tmp ]
nebo
if [ ! -d /tmp ]

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

10.4.2013 17:22 potato
Rozbalit Rozbalit vše Re: Kontrola zápisu if v bash
Odpovědět | | Sbalit | Link | Blokovat | Admin
První provede příkaz test, a shell pak zneguje výsledný exit status.

Druhý provede příkaz test s obrácenou podmínkou než ten první.

Definuj správně.
10.4.2013 17:37 Michal
Rozbalit Rozbalit vše Re: Kontrola zápisu if v bash
Zeptám se jinak, kterou podmínku použít pro vytvoření adresaře pokud neeexistuje. Ihmo, co myslíš tím zneguje výsledný exit status. To jako že při chybě bude exit 0 ?
10.4.2013 17:46 potato
Rozbalit Rozbalit vše Re: Kontrola zápisu if v bash
Budou fungovat oba. Ano, negace znamená, že z 0 bude 1 a z čehokoli nenulového nula.

Ty dvě varianty se liší hlavně ve spíše teoretické situaci, kdy by test vrátil nenulový status z jiného důvodu než nesplnění podmínky.
10.4.2013 18:56 Michal
Rozbalit Rozbalit vše Re: Kontrola zápisu if v bash
A k čemu je to dobrý, jestli to skončí exit 0 nebo exit 1, program se ukončí vždycky a chybová zpráva se taky vypíše vždycky. Ne?
10.4.2013 19:13 chrono
Rozbalit Rozbalit vše Re: Kontrola zápisu if v bash
If testuje, či program vrátil 0, alebo niečo iné.

PS: [ je názov programu, ktorý sa správa rovnako, ako program test, prípadne je to link na program test (a ten znak na konci ] bude program [ ignorovať).
Řešení 1× (little.owl)
10.4.2013 18:06 Kit
Rozbalit Rozbalit vše Re: Kontrola zápisu if v bash
mkdir -p adresář
10.4.2013 19:32 potato
Rozbalit Rozbalit vše Re: Kontrola zápisu if v bash
To je samozřejmě nejlepší řešení, protože navíc odpadá race condition. Ale vědět, co vlastně dělá vykřičník, se občas taky hodí...
11.4.2013 14:57 Kit
Rozbalit Rozbalit vše Re: Kontrola zápisu if v bash
Reagoval jsem na:
Zeptám se jinak, kterou podmínku použít pro vytvoření adresaře pokud neeexistuje.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.