![]() |
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier. |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| bash - uitstel uitbreiding van de variabele | scandora | Programmeren en Shell Scripting | 3 | 02-18-2009 05:59 |
| globbing, $ # te hoog is na wildcard expansie in bash-script | zoo591 | Programmeren en Shell Scripting | 3 | 07-25-2008 03:50 |
| Patroon uitbreiding probleem | njoshi | Programmeren en Shell Scripting | 5 | 04-24-2007 01:28 PM |
| AIX Expansion CD | almuwatta | AIX | 0 | 06-23-2005 06:07 PM |
| ksh op HP-UX - variabele expansie | dangral | UNIX voor Dummies Questions & Answers | 4 | 02-08-2005 12:35 |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Brace expansie probleem in Bash
Ik heb een script dat is een optie voor server zwembaden het script tegen. De optie is als een komma gescheiden lijst (dwz,-p 201.204.301).
Ik gebruik eval en brace expansie te krijgen die pool nummers in een array. Het werkt prima, tenzij slechts 1 zwembad is vermeld. Hier is de code: Code:
while [ "$1" != "" ]; do
case $1 in
-p ) shift
pools=($(for i in $(eval echo {$1}); do echo $i; done | sort))
;;
Code:
[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
+ '[' '' '!=' '' ']'
Code:
[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
+ '[' '' '!=' '' ']'
Bedankt, Mike G. |
|
||||
|
Citaat:
Voor nu heb ik mijn probleem opgelost deze manier: Code:
while [ "$1" != "" ]; do
case $1 in
-p ) shift
case $1 in
*,* ) pools=( $(for i in $(eval echo {$1}); do echo $i; done | sort) ) ;;
* ) pools=$1 ;;
esac
;;
|
![]() |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|