/ dev / null \ "^ EA ea_ident $ $ \" $ EA_run_file `"] do if [$ all_OMC-ne 1]" />
![]() |
|
|
google unix.com
|
|||||||
| Foros | Registro | Reglas de los Foros | Enlaces | Álbumes | Preguntas más frecuentes | Lista de miembros | Calendario | Búsqueda | Puestos de hoy | Marcar Foros Como Leídos |
| Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí. |
Más UNIX y Linux Foro Temas usted puede encontrar útiles
|
||||
| Hilo | Hilo para principiantes | Foro | Respuestas | Último mensaje |
| script de shell para ejecutar comandos de usuario | redtiger | Programación de scripts de shell y | 1 | 04-30-2008 07:53 PM |
| ejecutar un comando en silencio o en silencio dentro de un depósito | Lumix | Programación de scripts de shell y | 4 | 12-15-2007 03:10 PM |
| pausa necesaria para el maíz de shell | dennysavard | UNIX for Dummies Preguntas y Respuestas | 7 | 12-09-2007 02:16 PM |
| ejecutar comando shell en perlscript | amitrajvarma | Programación de scripts de shell y | 0 | 11-27-2007 02:49 AM |
| Urgente! Cómo escribir un programa de shell para ejecutar comando para acceder a Internet? | firebirdonfire | UNIX for Dummies Preguntas y Respuestas | 2 | 04-26-2001 12:16 PM |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
el depósito de pausa cuando no ejecutar comando de lectura
Hi, i un problema cuando se ejecuta el script de abajo ..
mientras que [-z "$ ea_ident"-o-n "` grep 2> / dev / null \ "^ EA ea_ident $ $ \" $ EA_run_file `"] hacer if [$ all_OMC-ne 1] entonces printf "Por favor, introduzca un nombre: [$ (omc_ident)]" leer la respuesta # El problema se produce aquí if [-z "$ respuesta"] entonces ea_ident \u003d $ () omc_ident algo más # # Verifique que el nombre no contiene caracteres no válidos # ea_ident \u003d `echo $ respuesta | tr-d" / \ 011 "» if [-z "$ () ea_ident"-o "$ () ea_ident!" \u003d "$ (respuesta)"] entonces eco echo "Lo sentimos, no un nombre válido!" echo "No debe contener espacios, tabuladores o'/'." eco ea_ident \u003d fi fi algo más ea_ident \u003d $ () omc_ident fi if [-n "` grep 2> / dev / null \ "EA ea_ident $ $ \" $ EA_run_file `"] entonces echo "Este nombre ya está en uso." fi hecho $ ea_ident es una base de datos, al entrar en el bucle, cuando excute comando de lectura, depósito suponer para hacer una pausa y esperar a la entrada del usuario ... Pero en mi caso, no es inmediatamente y ejecutar la próxima declaración -> if [-z "$ respuesta"], i no tratar de usar </ dev / tty, pero aún no sirven .. Por favor, me puesto ninguna solución para este ... Gracias Última edición por neruppu; al 07-03-2008 05:14 AM.. |
|
||||
|
Cita:
Yo simplemente ponerlo .. pero yo no creo que hará que este problema ... |
|
||||
|
Cita:
en realidad en mi scritps, i ha seguido la corriente por poner mensajes de eco y se entró en el bucle y ejecutar dos printf y comando de lectura, pero didnt pausa para la entrada del usuario .. do u tiene alguna idea de cómo resolver este problema ... Gracias |
|
|||||
|
ant: / home / vbe / scripts all_OMC $ \u003d 2
ant: / home / vbe / scripts $ if [$ all_OMC-ne 1] ^ Jthen ^ Jprintf "Por favor, introduzca un nombre: [> Por favor, introduzca un nombre: [] No funciona ... Así que creo que antes y no entrar en la condición ... ¿Por qué no probar con sh-x? |
|
|||||
|
I reformated su script para que yo podría leerlo. He definido un par de variables para poder conseguir que se ejecute. El resultado ....
Código:
$ 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
$
|
![]() |
| Marcadores |
| Etiquetas |
| linux, solaris |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|