[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: modificar un archivo en bash



On Tue, 2003-03-25 at 02:49, Rafael F. Rodríguez wrote:
> 	Lo que prependo hacer es un scripts donde pregunte el nombre de
> dominio, los nombre de usuario, contraseñas... y que el script acceda
> a los archivos (plantillas previamente preparadas y colocadas en cada
> ruta) y modifique los valores que tengo por defecto.

Oh, ya veo.  Pues mira, si hay libertad de decidir el formato de las
plantillas (quiero decir, si no hay que ajustarse a un formato de
plantilla en particular), yo haría scripts-plantilla.  Por ejemplo:

---------------------------------------------------------------------
#!/bin/sh
# genmain.sh: Plantilla para generar el main.cf de Postfix
# Uso: genmain.sh HOSTNAME DOMAIN RELAY NETWORKS

cat <<END
# Este es un archivo de configuracion autogenerado.
# No tocar, a menos que sepas lo que haces.

myhostname = $1
mydomain = $2
relay = $3

# DIRECCION QUE APARECE EN EL FROM
myorigin = \$mydomain
...

mynetworks = $4
...
END

exit 0
---------------------------------------------------------------------

Nota el escape antes de "$mydomain".  Debería ser obvio porqué es
necesario.

El script lo puedes probar en la consola, tecleando a mano los valores. 
Cuando funcione correctamente, simplemente invocas a la plantilla desde
tu script principal:

---------------------------------------------------------------------
#!/bin/sh

TARGET="/tmp/main.cf"

read -p "Hostname: " HOST
read -p "Domain: " DOMAIN
read -p "Relay: " RELAY
read -p "Networks: " NETWORKS

genmain.sh "$HOST" "$DOMAIN" "$RELAY" "$NETWORKS" > $TARGET
exit 0
---------------------------------------------------------------------

Las comillas son necesarias por si te teclean espacios en alguna de las
variables.

¿Se parece más a lo que necesitas, ésto?

 -CR




Reply to: