![]() |
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| Bash - задержка расширения переменной | scandora | Shell программирование и сценарии | 3 | 02-18-2009 05:59 AM |
| globbing, $ # слишком высока после подстановочный расширение Bash скрипта | zoo591 | Shell программирование и сценарии | 3 | 07-25-2008 03:50 AM |
| План расширения проблема | njoshi | Shell программирование и сценарии | 5 | 04-24-2007 01:28 PM |
| Экс Расширение КР | almuwatta | AIX | 0 | 06-23-2005 06:07 PM |
| KSH на HP-UX - переменная расширения | dangral | UNIX для чайников Вопросы И Ответы | 4 | 02-08-2005 12:35 PM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
Скобок Проблема в Bash
У меня есть скрипт, который принимает параметр для сервера бассейны запустить сценарий "против". Эта функция доступна в виде списка разделенных запятыми (например, П-201204301).
Я использую EVAL и скобок, чтобы те пул номеров в один массив. Он отлично работает, если только 1 бассейн номер приводится. Вот код: Код:
while [ "$1" != "" ]; do
case $1 in
-p ) shift
pools=($(for i in $(eval echo {$1}); do echo $i; done | sort))
;;
Код:
[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
+ '[' '' '!=' '' ']'
Код:
[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
+ '[' '' '!=' '' ']'
Спасибо, Майк G. |
|
||||
|
Цитата:
Сейчас я моя проблема решена следующим образом: Код:
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
;;
|
|
||||
|
Perfect. Я был настолько висела на ее решение с помощью скобок.
Спасибо!! |
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|