/ Dev / нулевой \ "^ Е.А. $ ea_ident $ \" $ EA_run_file `"] если [$ all_OMC NE-1], а затем" />
![]() |
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| скрипт, чтобы выполнить команду пользователя | redtiger | Shell программирование и сценарии | 1 | 04-30-2008 07:53 PM |
| выполнить команду молча или тихо внутри корпуса | Lumix | Shell программирование и сценарии | 4 | 12-15-2007 03:10 PM |
| паузы, необходимой для кукурузы корпуса | dennysavard | UNIX для чайников Вопросы И Ответы | 7 | 12-09-2007 02:16 PM |
| выполнить в командной оболочке perlscript | amitrajvarma | Shell программирование и сценарии | 0 | 11-27-2007 02:49 AM |
| Срочно!! Как написать оболочку программы выполнить команду для доступа к интернету? | firebirdonfire | UNIX для чайников Вопросы И Ответы | 2 | 04-26-2001 12:16 PM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
корпуса не приостановить, если выполнить команду читать
Привет, я столкнулся с проблемой при запуске сценария ниже ..
в то время как [-Z "$ ea_ident"-O-N "` grep 2> / Dev / нулевой \ "^ Е.А. $ ea_ident $ \" $ EA_run_file `"] делать если [$ all_OMC-NE 1] тогда printf "Пожалуйста, введите имя: [$ (omc_ident)]" читать ответ # проблемы происходят здесь если [-Z "$ ответ"] тогда ea_ident \u003d $ () omc_ident еще # # Убедитесь, что имя не содержит недопустимые символы # ea_ident \u003d `Эхо $ ответ | TR-D" / \ 011 "` если [-Z "$ () ea_ident"-O "$ () ea_ident"! \u003d "$ (ответ)"] тогда эхо Эхо "К сожалению, не является действительным именем!" Эхо "не должно содержать пробелы, табуляции или'/'." эхо ea_ident \u003d FI FI еще ea_ident \u003d $ () omc_ident FI если [-N "` grep 2> / Dev / нулевой \ "Е. А. ea_ident $ $ \" $ EA_run_file `"] тогда Эхо "Это имя уже используется." FI готово $ ea_ident это данные, если попасть в петлю, когда excute чтения команды оболочки предполагаем остановиться и ждать ввода пользователя ... Но в моем случае, его нет, и сразу же выполнить следующее заявление ->, если [-Z "$ реагирования"], Я пытаюсь использовать </ Dev / TTY, но пока еще не использовать .. Пожалуйста, пост мне какое-либо решение по этому ... Спасибо Последний раз редактировалось neruppu; на 07-03-2008 05:14 AM.. |
|
||||
|
Цитата:
Я просто положить его .. I DONT но думаю, что будет вызывать эту проблему ... |
|
||||
|
Цитата:
на самом деле в моем scritps, я сделал следующие потока положить эхо сообщения и он вошел в петле и выполнять как printf и читать команды, но она didn't паузы для пользовательского ввода .. сделать у вас какие-либо идеи, как решить эту проблему ... Спасибо |
|
|||||
|
АНТ: / Главная / VBE / скрипты all_OMC $ \u003d 2
АНТ: / Главная / VBE / скрипты, если $ [$ all_OMC NE-1] ^ Jthen ^ Jprintf "Пожалуйста, введите имя: [> Введите имя: [] Она работает ... Поэтому я считаю, что до и вам не войти в состояние ... Почему бы не попробовать с SH-х? |
|
|||||
|
Я reformated ваш сценарий, чтобы я мог прочитать ее на самом деле. Я определил несколько переменных, так что я мог бы получить его в перспективе. В результате .... Код:
$ cat mess
#! /usr/bin/ksh
all_OMC=0
EA_run_file=data
while [ -z "$ea_ident" -o -n "`grep 2>/dev/null \"^EA $ea_ident$\" $EA_run_file`" ] ; do
if [ $all_OMC -ne 1 ] ; then
printf "Please enter a name : [${omc_ident}] "
read response # the problem occur here
if [ -z "$response" ] ; then
ea_ident=${omc_ident}
else
#
# Check that name does not contain invalid characters
#
ea_ident=`echo $response | tr -d "/ \011"`
if [ -z "${ea_ident}" -o "${ea_ident}" != "${response}" ] ; then
echo
echo "Sorry, not a valid name!"
echo "Must not contain spaces, tabs or '/'."
echo
ea_ident=
fi
fi
else
ea_ident=${omc_ident}
fi
if [ -n "`grep 2>/dev/null \"EA $ea_ident$\" $EA_run_file`" ] ; then
echo "That name is already in use."
fi
done
$ ./mess
Please enter a name : [] it is pausing for me!
Sorry, not a valid name!
Must not contain spaces, tabs or '/'.
Please enter a name : [] kjhkjhkjhkjh
$
Вы поместил отрывок из сценария, и вы предположить, что ошибка в выдержке, что вы дали нам. Это не правда. Ваша ошибка в другом месте. Вы должны предоставить нам с runable скрипт, который воспроизводит вашу проблему. |
![]() |
| Закладки |
| Теги |
| Linux, Solaris |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|