![]() |
|
|
google unix.com
|
|||||||
| Fórumok | Regisztráció | Fórum Szabályok | Linkek | Albumok | GYIK | Tagok listája | Naptár | Keres | Mai hozzászólások | Megjelöl Fórumok Olvas |
| A UNIX a dummies Kérdések és válaszok Ha nem biztos benne, hogy hol osztályozhatom Unix vagy Linux kérdés, post it here. Minden UNIX és Linux newbies welcome! |
Több, UNIX és Linux fórum témák Ön által talált Hasznos
|
||||
| Szál | Thread Starter | Fórum | Válaszok | Utolsó hozzászólás |
| Hogyan Giv két feltételt, amennyiben nyilatkozata ..? | RRVARMA | Shell programozás és Scripting | 6 | 04-25-2008 10:33 AM |
| csökkentése vagy a feltételek | hitmansilentass | Shell programozás és Scripting | 8 | 05-03-2007 06:27 PM |
| Több feltételeket ha / majd | grandtheftander | A UNIX a dummies Kérdések és válaszok | 4 | 07-21-2006 02:58 PM |
| ha a nyilatkozatot a két feltétel | cin2000 | Shell programozás és Scripting | 1 | 01-23-2006 03:21 PM |
| ha a nyilatkozatot a két feltétel-e, & & | yongho | Shell programozás és Scripting | 16 | 06-14-2005 05:46 PM |
![]() |
|
|
LinkBack | Téma eszközök | Keresés a téma | Rate Thread | Megjelenítési módok |
|
|
|
||||
|
Két feltételt, ha egy nyilatkozata
Én teljesen új a bash programozással és én nem értem, hogyan kell beletenni a feltételek, ha egy nyilatkozatot. Saját kód így néz ki: Kód:
h=`date +%k` if [ [ $((h>9)) ] && [ $((h<21)) ] ]; then $ h 10, de nem értem, ha az én nyilatkozatot. Mi a baj itt? |
|
||||
|
A héj van egy hátborzongató sor szintaktikai alternatívák feltételes. Az [nem tartozik a hagyományos elválasztó, de a név a parancs. Használati módját a kifejezést, hogy a több, mint ez: Kód:
if [ "$h" -gt 9 ] && [ "$h" -lt 21 ]; then ... fi Egy kicsit újabb (vagyis a 1979 utáni, vagy úgy ...) szintaxis Kód:
if [ "$h" -gt 9 -a "$h" -lt 21 ]; then ... fi A $((...)) szintaxis sokkal frissebb, és bevezeti a megfelelő számtani (beleértve a> és a <szereplők), de közvetlenül nem használható, mint a feltétel. Egyszerűen csak terjeszkedik 0 a hamis, 1 az igazi. De persze, akkor keverheted: Kód:
if [ $((h > 9 && h < 21)) == 1 ]; then ... fi Végül pedig ott van a [[... ]] Feltételes, ami valószínűleg mit után: Kód:
if [[ $h > 9 ]] && [[ $h < 21 ]]; then ... fi A karakterek alkotó [[elválasztó nem lehet elválasztani a szóköz (a legjobb tudásom szerint). |
|
||||
|
Oh boy! Azt hiszem, hogy a fiatal ehhez. Én vagyok a Java-termelés, bash úgy tűnik, hogy elég trükkös. Úgy tűnik, ez a két munkát. Az, hogy ez ugyanaz? Kód:
if [ $h -gt 9 -a $h -lt 21 ]; then Kód:
if [ "$h" -gt 9 ] && [ "$h" -lt 21 ]; then |
|
||||
|
Az idézőjelek között is elsősorban a biztonság (jó szokás, ha $ h köt ki, amely egy üres string véletlenül, például), és elméletileg a & & változatot hozhat létre két külső folyamatok, ahol-a csak akkor hozzon létre egyet. (Ez az elmélet, mert [valószínűleg kezelni belsőleg modernek héjak, így nincs olyan külső folyamatokra.)
Shell szkriptek nem sokat elemzett, a szintaxis több sekély, mint sok más script nyelv, és ez okoz némi komplikáció, hanem segít a héj rendkívül sokoldalú. Hiánya standard, beépített számtani operátorok a kezdetektől másik oka a komplexitás ebben az esetben. POSIX megkísérli rögzíteni néhány olyan kérdést, de a történelem, a különböző lövedékek fejlődtek a különböző kiterjesztéseket, amelyek aztán létre, mint volt, még különböző módon lehet a bőr egy macska. |
![]() |
| Könyvjelzõk |
| Címkék |
| feltételek esetén nyilatkozat |
| Téma eszközök | Keresés a téma |
| Megjelenítési módok | Rate this thread |
|
|