Co gnuwin32 program: [.exe dělat?

hlasů
3

Při pohledu do adresáře gnuwin32 / bin, tam je soubor podivný program s názvem [.exe

Nemohl jsem ji najít v dokumentaci, gnuwin32.sourceforge.net nebo ve vyhledávání Google, tak jsem běžel a dostal:

$ [
[: missing `]'
$

tak dal jsem to] jako parametr a dostal

$ [ ]

$

To nestěžoval, tak jsem předpokládal, že je na správné stopě. Zkusil jsem:

$ [ hello ]

Znovu, žádné stížnosti. tak jsem se snažil aritmetický výraz:

$ [ 1 + 1 ]
[: +: binary operator expected
$

Zkoušel jsem spoustu různých kombinací, včetně předčíslí postfix notaci, ale nic se zdálo pracovat. Co ta věc dělat?

Položena 18/11/2008 v 23:58
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
6
test a

==

[ a ]

Je to jen cukr

Edit: K objasnění, to je podmíněno syntax, např [ "a" = "a"]

Odpovězeno 19/11/2008 v 00:00
zdroj uživatelem

hlasů
5

Používá se k vyhodnocení podmíněné výrazy.
To je ekvivalentní k (možná symbolický odkaz do?) Tento testspustitelný.
Manuálové je tady .

Můžete vidět v mnoha bash skriptů:

if [ "$LOGNAME" = "scott" ]
then
    echo "Logged in as Scott"
else
     echo "incorrect user"
fi

Legrační je, tím [není součástí jazyka bash, je to ve skutečnosti spustitelný jehož návratový kód je používán jen ‚IF‘. To je důvod, proč je prostor po [a její první argument je povinný - pokud by to být vynechána, skript se pokusí spustit ["$LOGNAME"a selže.

Nemůžete dělat aritmetické operace s nimi - využití exprpro to (viz zde ). Nicméně, můžete otestovat pro širokou škálu vlastností souborů (vůbec existuje? Jaký typ to je? Etc), jakož i porovnávací operátory použití na řetězce a čísla.

Odpovězeno 19/11/2008 v 00:12
zdroj uživatelem

hlasů
0

Další odpověď již bylo zmíněno, že je stejný jako test. Na bash, to je také vestavěný, takže můžete získat pomoc pro něj s helpvestavným ( help test).

Odpovězeno 19/11/2008 v 11:50
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more