Comment prévenir l'échec sed en combinaison avec apg?
J'écris un script qui installera automatiquement WordPress pour moi de me faciliter la vie, car je dois constamment déployer une installation WordPress.
Cependant, j'essaie de le faire pour que je n'interagisse jamais avec lui, et cela prend mon sommeil.
Pour générer des mots de passe pour des bases de données et d'autres choses, j'utilise apg, Puis utiliser sed Pour remplacer la chaîne avec le mot de passe correct.
Cela ressemble à ceci:
Le remplacement de la base de données et du nom d'utilisateur fonctionne normalement, mais lors du remplacement du mot de passe, six fois sur dix fois le remplacement n'est pas effectué et
Je reçois quelque chose comme ça:
define ('DB_PASSWORD', 'Ymb {X-dT ~ l5Agg9q561A ^? n
password_here
D; $ U, s> mu *: f7 | BK4? OM # OH> cHgsI9GndW @ ~ SkBQ ');
Concentrez-vous sur le problème. Au lieu de supprimer une partie «password_here» Et remplacez-le par un mot de passe réel, il semble réunir une chaîne au milieu du mot de passe.
Je pensais que cela pourrait être un symbole créé de apg, qui a embauché S. sed, Mais j'ai supprimé beaucoup de mot de passe créé en utilisant -E, Et encore beaucoup.
La même chose se produit avec d'autres remplacements, toujours impliqués apg et sed. Remplacer de telles choses comme
_PASSWORD_HERE_
De temps à autre pour mener au même problème.
Y a-t-il un moyen de contourner cela ou de continuer à essayer de trouver des symboles qui causent des problèmes, puis les ajoutent à la liste d'exceptions apg? Ou peut-être me dire sed Remplacez la ligne entière, pas seulement une chaîne que je veux?
Merci d'avance!
Cependant, j'essaie de le faire pour que je n'interagisse jamais avec lui, et cela prend mon sommeil.
Pour générer des mots de passe pour des bases de données et d'autres choses, j'utilise apg, Puis utiliser sed Pour remplacer la chaîne avec le mot de passe correct.
Cela ressemble à ceci:
DOMAIN="$2"
DB_NAME_USER="$(echo $DOMAIN | sed -e 's/\.//g')"
DB_PASSWORD="$(apg -a 1 -n 1 -m 64 -d -c cl_seed -E \_\"\'\`\/\\\=)"
sed -i "s/database_name_here/$DB_NAME_USER/g" /srv/"$DOMAIN"/wp-config.php
sed -i "s/username_here/$DB_NAME_USER/g" /srv/"$DOMAIN"/wp-config.php
sed -i "s/password_here/$DB_PASSWORD/g" /srv/"$DOMAIN"/wp-config.php
Le remplacement de la base de données et du nom d'utilisateur fonctionne normalement, mais lors du remplacement du mot de passe, six fois sur dix fois le remplacement n'est pas effectué et
Je reçois quelque chose comme ça:
define ('DB_PASSWORD', 'Ymb {X-dT ~ l5Agg9q561A ^? n
password_here
D; $ U, s> mu *: f7 | BK4? OM # OH> cHgsI9GndW @ ~ SkBQ ');
Concentrez-vous sur le problème. Au lieu de supprimer une partie «password_here» Et remplacez-le par un mot de passe réel, il semble réunir une chaîne au milieu du mot de passe.
Je pensais que cela pourrait être un symbole créé de apg, qui a embauché S. sed, Mais j'ai supprimé beaucoup de mot de passe créé en utilisant -E, Et encore beaucoup.
La même chose se produit avec d'autres remplacements, toujours impliqués apg et sed. Remplacer de telles choses comme
_PASSWORD_HERE_
De temps à autre pour mener au même problème.
Y a-t-il un moyen de contourner cela ou de continuer à essayer de trouver des symboles qui causent des problèmes, puis les ajoutent à la liste d'exceptions apg? Ou peut-être me dire sed Remplacez la ligne entière, pas seulement une chaîne que je veux?
Merci d'avance!
Aucun résultat connexe trouvé
Invité:
Pour répondre aux questions, connectez-vous ou registre
1 réponses
Blanche
Confirmation de:
,
et
Symboles dans votre entrée, sinon sed Les agit. Sorte de
Doit faire votre entreprise.