Foros del Web » Administración de Sistemas » Unix / Linux »

[SOLUCIONADO] duda script: Como dividir un comando en varias lineas?

Estas en el tema de duda script: Como dividir un comando en varias lineas? en el foro de Unix / Linux en Foros del Web. Hola a todos, tengo una duda de si puedo "armar" un comando completo pasando por diferentes partes del script, en el ejemplo de abajo, un ...
  #1 (permalink)  
Antiguo 25/12/2014, 01:31
 
Fecha de Ingreso: diciembre-2014
Ubicación: En mi casa
Mensajes: 1
Antigüedad: 9 años, 10 meses
Puntos: 0
Busqueda duda script: Como dividir un comando en varias lineas?

Hola a todos, tengo una duda de si puedo "armar" un comando completo pasando por diferentes partes del script, en el ejemplo de abajo, un ciclo me ayuda a meter varias direcciones hasta que simplemente no meto nada

tengo este codigo con el que estoy contrullendo un script, para gedit:

Código:
mail1=$(zenity --entry --text="Escribe el E-Mail del remitente")
gpg --use-agent \
while( true )
do
	-r $mail1 \
	mail1=$(zenity --entry --text="Escribe el E-Mail de otro remitente")
	if [ -z $mail1 ]
	then
		break
	fi
done
-u "mi correo" -a -e -s --no-tty
Como dije, deseo "armar" un comando completo conforme se ejecuta el script:

por ejemplo en este caso, es para agiliza el uso de GPG con gedit, y como con GPG puedo usar varios correos electronicos, la opcion -r se puede repetir tantas veces sea necesario

¿Como puedo lograr partir el comando en varias lineas de modo que el script de arriba funcione?

(las barras invertidas que coloqué eran supuesamente para eso, pero por ejemplo, cuando se llega a gpg --use-agent \, la siguiente linea es while... y la toma como parte del comando cuando no debería ser así, en total el comando debería poder quedar así:
gpg --use-agent -r $mail1 -r $mail1 -r $mail1 -u "mi correo" -a -e -s --no-tty


Disculpen por venir a preguntar algo tan simple:

Me autorespondo, espero que a alguien mas le sirva.
Se me ocurrio que el comando se puede ir almacenando en una variable y al final ejecutar la variable:

Código:
comando="gpg --use-agent "
mail1=$(zenity --entry --text="Escribe el E-Mail del remitente")
while( true )
do
	comando="$comando -r $mail1 "
	mail1=$(zenity --entry --text="Escribe el E-Mail de otro remitente")
	if [ -z $mail1 ]
	then
		break
	fi
done
comando="$comando -u "[email protected]" -a -e -s --no-tty"
eval $comando
Gracias :D

Última edición por peworld3; 25/12/2014 a las 01:48

Etiquetas: bash, scripting
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:13.