The UNIX and Linux Forums  
Hello and Welcome-tól az Egyesült Államokat, hogy az UNIX és Linux Forums? Köszönjük, hogy meglátogatta és csatlakozik Globális Közösség.

Go Back   A UNIX és Linux Forums > Top Fórumok > Shell programozás és Scripting
.
google unix.com



Shell programozás és Scripting Post kérdések KSH, CSH, SH, Bash, Perl, PHP, SED, AWK ÉS EGYÉB shell szkriptek és shell script nyelvek itt.

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
bash - haladéktalanul bővülése változó scandora Shell programozás és Scripting 3 02-18-2009 05:59 AM
globbing, $ # túl magas után wildcard bővítése bash script zoo591 Shell programozás és Scripting 3 07-25-2008 02:50 AM
Minta bővülése probléma njoshi Shell programozás és Scripting 5 04-24-2007 12:28 PM
AIX Bővítőhelyek CD almuwatta AIX 0 06-23-2005 05:07 PM
KSH a HP-UX - változó bővítése dangral A UNIX a dummies Kérdések és válaszok 4 02-08-2005 12:35 PM

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 07-02-2009
mglenney mglenney is offline
Regisztrált felhasználó
  
 

Join Date: Jun 2009
Hozzászólások: 85
Brace bővülése probléma Bash

Van egy szkript, amely lehetővé teszik a szerver medencék futtatni a szkriptet ellen. A lehetőség adott, mint egy vesszővel elválasztott listája (vagyis P-201204301).

I'm using eval és nekigyürkőzik bővítését, hogy ezek a számok egy medence tömbben. Ez szerkezet finom, kivéve, ha csak 1 medence számot adni. Íme a kód:

Kód:
while [ "$1" != "" ]; do
  case $1 in
    -p  )               shift
                        pools=($(for i in $(eval echo {$1}); do echo $i; done | sort))
                        ;;
Ha több gyűjtőminták adni:

Kód:
[me@server bin]$ ./project_nunenhoffen.sh -p 201,202
+ '[' -p '!=' '' ']'
+ case $1 in
+ shift
+ pools=($(for i in $(eval echo {$1}); do echo $i; done | sort))
++ sort
+++ eval echo '{201,202}'
++++ echo 201 202
++ for i in '$(eval echo {$1})'
++ echo 201
++ for i in '$(eval echo {$1})'
++ echo 202
+ shift
+ '[' '' '!=' '' ']'
Ha egyetlen medence adni:

Kód:
[me@server bin]$ ./project_nunenhoffen.sh -p 201
+ '[' -p '!=' '' ']'
+ case $1 in
+ shift
+ pools=($(for i in $(eval echo {$1}); do echo $i; done | sort))
++ sort
+++ eval echo '{201}'
++++ echo '{201}'
++ for i in '$(eval echo {$1})'
++ echo '{201}'
+ shift
+ '[' '' '!=' '' ']'
Tehát ha egy medence kap elhagyja a fogszabályozó körül, ami rossz. Én is ezt a tesztet az 1 $, hogy van-e vessző, és azt más, ha ott nem, de arra gondoltam, ha van egy jobb megoldás, mint a. Is, ha kíváncsi, hogyan kezelik, hogy az uszoda számokat egy tömbben volt a legjobb módja, ha azt (eval & nekigyürkőzik expanzió).

Köszönöm,

Mike G.
 

Könyvjelzõk

Téma eszközök Keresés a téma
Keresés a téma:

Részletes keresés
Megjelenítési módok Rate this thread
Rate this thread:

Posting szabályzat
Ön nem post new threads
Ön nem post válaszok
Ön nem post Csatolmányok
Ön nem szerkeszteni az üzeneteidet

BB kód van Be
Smilies vannak Be
[IMG] kód Be
HTML kód Ki
Trackbacks vannak Be
Pingbacks vannak Be
Refbacks vannak Be




Minden idő GMT -4. Az idő most 05:35 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Nyelvre lefordítva Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
A UNIX és Linux Fórum Tartalom Copyright © 1993-2009. Minden jog Reserved.Ad menedzsment RedTyger

Content Relevant URLs by vBSEO 3.2.0