The UNIX and Linux Forums  

Go Back   El UNIX y Linux Foros > Arriba Foros > Programación de scripts de shell y
.
google unix.com



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
g + + y la opción-R eternalflame Programación de Alto Nivel 0 04-14-2008 02:57 PM
opción-n Ravi Raj Kumar Programación de scripts de shell y 1 01-03-2008 09:20 AM
ps: 65535 es un inválido no numéricos argumento para opción-p gogogo Sun Solaris 5 11-19-2006 06:20 PM
su opción lesstjm UNIX para usuarios avanzados y expertos 1 11-02-2005 01:54 PM
corte opción-f 435 Gavea UNIX for Dummies Preguntas y Respuestas 1 11-10-2003 05:50 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 03-17-2008
gurukottur gurukottur is offline
Usuario Registrado
  
 

Fecha: abril 2006
Puestos: 40
seguido de la opción: si la opción de tomar el próximo argumento de que faltan con getopts

Hola a todos,

Estoy analizar opciones de línea de comandos utilizando getopts.

El problema es que el argumento obligatorio que las opciones siguientes ":" está tomando como argumento siguiente opción si no es seguido por cualquier argumento.
A continuación se muestra la secuencia de comandos:

mientras getopts: hd: t: s: l: f: optar
hacer
caso "$ optar" en
-h | - \?) utilización;;
-d) DEBUG \u003d true; SCRIPT_LOG_LEVEL exportación \u003d DEBUG;;
-t) DEVTYPE \u003d "$ OPTARG";;

-s) SIG_IP \u003d "$ OPTARG"; exportación SOCKS5_SERVER \u003d "$ OPTARG: 9001";;
-l) HOST_LOGIN \u003d "$ OPTARG";;

-p) PASSWORD \u003d "$ OPTARG";;

-f) cl_cfile_specd \u003d 1
exportación RUNNING_CONFIG_FILE \u003d "$ OPTARG";;

*) Logmsg "no reconocido los parámetros de uso";;
esac
hecho
si ejecuta el script como:
$. / script.sh-d-t rdsk-s 12.3.4.5-l gurú-p-f / usr / local / sc.conf
la opción-p-f está tomando como argumento.

Por favor, ayúdame a la manera de lanzar un mensaje de error y salir de la secuencia de comandos si no es obligatorio argumento pasado al script.

También cómo hacer frente a las opciones de tener - es decir - 'log'.

Por favor, ayuda con el problema anterior
  #2 (Enlace permanente)  
Old 03-17-2008
drl's Avatar
DRL drl is offline Forum Advisor  
Usuario Registrado
  
 

Fecha: abril 2007
Ubicación: Saint Paul, MN EE.UU. / BSD, CentOS, Debian, OS X, Solaris
Puestos: 717
Hola.

¿Cómo debe getopts saber que la cadena "-f" no es un valor adecuado para el argumento de la opción "-p"? ... cheers, DRL

En el PS getopts Yo uso, el caso no debería tener selectores líder "-" caracteres.

EPA también nota que ha establecido la "d", pero no uso OPTARG en el caso de selección para "-d".

Última edición por DRL; al 03-17-2008 12:36 PM..
  #3 (Enlace permanente)  
Old 03-17-2008
época
Guest
  
 

Mensajes: n / a
Bits: 0 [Banca]
Como una observación en el diseño, tal vez no deberían ser "opciones" si son obligatorios.

Después de que el bucle while, comprobar si la contraseña o el archivo de configuración es unset, y si se mueren?

No creo que hay una manera estándar para obtener las opciones de largo con getopts; puede rodar su propia, aunque.


Código:
while :
do
  case $# in 0) break;; esac
  case $1 in 
    -h|-\?|--help) usage;;
    -d|--debug) DEBUG=true;export SCRIPT_LOG_LEVEL=DEBUG; shift ;;
    -t|--type) DEVTYPE="$2"; shift; shift ;;
    -s|--socks) SIG_IP="$2"; export SOCKS5_SERVER="$2:9001"; shift; shift ;;
    -l|--login) HOST_LOGIN="$2"; shift; shift;;
    -p|--password) PASSWORD="$2"; shift; shift ;;
    -f|--config-file) cl_cfile_specd=1
        export RUNNING_CONFIG_FILE="$2"; shift; shift ;;
    -*) logmsg "Unrecognized param usage";;
  esac
done

Lo que muere con gracia cuando una opción que requiere un argumento que no recibe ninguna (es decir, $ 2, no se fija en todos) se deja como ejercicio. El problema de ver que $ 2 es la siguiente opción es la inteligencia artificial (o usted puede inventar un mecanismo para especificar un argumento que comienza con el guión, de modo que pueda prohibir opción argumentos para comenzar con un guión en el caso general. No No sé si eso es bueno o malo usabilidad).
Closed Thread

Marcadores

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 07:16 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0