![]() |
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier. |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| bash - Verzögerung Ausweitung der variablen | scandora | Shell Programmierung und Scripting | 3 | 02-18-2009 05:59 AM |
| globbing, $ # ist zu hoch, nachdem der Wildcards in Bash-Skript | zoo591 | Shell Programmierung und Scripting | 3 | 07-25-2008 03:50 AM |
| Pattern Erweiterung Problem | njoshi | Shell Programmierung und Scripting | 5 | 04-24-2007 01:28 PM |
| AIX Expansion CD | almuwatta | AIX | 0 | 06-23-2005 06:07 PM |
| ksh auf HP-UX - Variable Expansion | dangral | UNIX for Dummies Questions & Answers | 4 | 02-08-2005 12:35 PM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
Brace Expansion Problem in der Bash
Ich habe ein Skript, das eine Option für Server-Pools, um das Skript vor. Die Option wird als Komma getrennte Liste (dh,-p 201.204.301).
Ich bin mit eval und Klammer, um die Expansion Pool Zahlen in einem Array. Es funktioniert gut, wenn nur 1 Pool-Nummer wird. Hier ist der 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
+ '[' '' '!=' '' ']'
Danke, Mike G. |
|
||||
|
Zitat:
Für heute habe ich mein Problem gelöst werden: 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
;;
|
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|