[bcn-pm] Problemilla con script
José Luis Pérez Diez
jluis at escomposlinux.org
Fri Feb 11 03:50:18 PST 2005
On Divendres 11 Febrer 2005 10:15, TooManySecrets wrote:
> Ajam, pero luego ocurre que no me interpreta algunas variables que
> necesitaría que pudiese interpretar, como la de $datos{presence} que te
> aparece aquí abajo en la prueba que has realizado. ¿Cómo se podría
> evitar esto?
Yo usaria una de estas opciones escapar los $ con \$ y usar comillas dobles
usar printf con comillas sencillas y use Text::Template :
Escapar los $ necesarios y usar comillas dobles:
$datos{presence} ='hola';
print <<EOF;
# \$FreeBSD: ports/ftp/proftpd/files/proftpd.sh,v 1.1 2003/11/03 19:40:38
mharo Exp \$
required_files="/usr/local/etc/$datos{presence}_ftp.conf"
case \$1 in
\${command} -c \${required_files}
kill `cat /var/ftp/presence/"\$datos
echo "Uso: `basename \$0` {start|stop}" >&2
EOF
O usar printf con comillas simples:
printf <<'EOF',$datos{presence};
# $FreeBSD: ports/ftp/proftpd/files/proftpd.sh,v 1.1 2003/11/03 19:40:38 mharo
Exp$
required_files="/usr/local/etc/%s_ftp.conf"
case $1 in
${command} -c ${required_files}
kill `cat /var/ftp/presence/"$datos
echo "Uso: `basename $0` {start|stop}" >&2
EOF
Text::Template no la comento pero se basa en eejecutar el codigo perl
compredido entre pares de delimitadores por defecto son "{" y "}" pero
pueden secuencias de caracteres arbitrarias en la documentacion usan "[@---"
y "---@]"
More information about the Barcelona-pm
mailing list