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: