Portál AbcLinuxu, 12. května 2025 08:59
[root@beta /]# xx1=10 [root@beta /]# xx2=20 [root@beta /]# if [ $xx2 == $xx1 ]; then echo 'OK'; else echo 'DEF' ; fi DEF [root@beta /]# if [ $xx2 != $xx1 ]; then echo 'OK'; else echo 'DEF' ; fi OK [root@beta /]# if [ $xx2 < $xx1 ]; then echo 'OK'; else echo 'DEF' ; fi OK [root@beta /]# if [ $xx2 > $xx1 ]; then echo 'OK'; else echo 'DEF' ; fi OK
help test
nebo man bash
.
/usr/bin/test
a /usr/bin/[
z nějakých záhadných důvodů různé. :-)
if [ $xx2 -eq $xx1 ]; then echo 'OK'; else echo 'DEF' ; fi if [ $xx2 -ne $xx1 ]; then echo 'OK'; else echo 'DEF' ; fi if [ $xx2 -lt $xx1 ]; then echo 'OK'; else echo 'DEF' ; fi if [ $xx2 -gt $xx1 ]; then echo 'OK'; else echo 'DEF' ; fi
if (( $xx2 > $xx1 )) ...kdyz nic jineho, pripadne mi to citelnejsi.
(( výraz ))
funguje aj v príkazovom riadku? :)
Inak v bash skripte je to určite prehľadnejšie riešenie.
[ výraz ]
a (( výraz ))
jsou dvě odlišné věci. (( výraz ))
v bashi reprezentuje aritmetické vyhodnocení výrazu, viz help let
a help \(\( \)\)
... pozor, velky pruser je na blizku.[root@beta /]#
uznávám, že moje dotazy jsou ryze laické, ale to ještě neznamená, že musím být slon v porcelánu. Některé věci znám, jiné ne, protože jsem je zatím nepotřeboval. Prostě řeším je to co potřebuju a když mi něco nejde podle představ, tak se zeptám.
Test pod rootem taky neznamená, že to je na ostrém stroji. Mě to takto vyhovuje, myslím, že to má i své výhody.
Všem dík za rady.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.