Что может означать одинарная кавычка в двойных кавычках? [закрыто]

Esto es similar a la respuesta de Stéphane Chazelas, pero usa sustitución de proceso y una función de shell en lugar de heredoc para proporcionar el usuario y la contraseña:

#!/bin/bash

printconf() {
cat <<-EOF
    [mysql]
    user=root
    password=supersecretpassword
EOF
}

mysql --defaults-extra-file=<(printconf) -e 'CREATE DATABASE example'

La función(printconf)solo genera un archivo mysql conf formateado correctamente.

En mi opinión, esto es más legible que tener múltiples heredocs en una sola línea.

Todavía tiene los detalles de usuario y contraseña incrustados en el script (, por lo que no requiere un archivo externo como~/.my.cnf)y aún evita exponer la contraseña en la tabla de procesos del kernel (, es decir, a través de ps, pgrep, etc. ).

NOTA:Esto requiere un shell moderno que admita la sustitución de procesos (p. bash, zshoksh).


El script contiene una contraseña de texto sin formato, por lo que debe estar adecuadamente protegido por propiedad, grupo,permisos y/o ACL. es decir, como mínimo, no debería ser legible por el mundo -.

-3
19.07.2016, 16:10
0 ответов

Теги

Похожие вопросы