Je suis un débutant en script bash, je veux créer un script bash pour installer, installer et configurer des trucs sur ma boîte Linux de manière automatisée.
Supposons que je veuille éditer
/etc/yum.repos.d/epel.repo
par le script bash
Ce que je veux faire, c'est comme suit
- Ouvrir le fichier /etc/yum.repos.d/epel.repo
- Rechercher la section [epel]
- Ajouter une priorité de ligne = 10 juste après la ligne activée = 1 dans la section epel
Pour la première partie, j'ai ajouté
yum install nano
nano /etc/yum.repos.d/epel.repo
Ma question est de savoir comment faire les 2 et 3ème parties avec le script bash en utilisant nano (si possible, dans le cas où ce n'est pas possible, montrez-moi avec sed)
À certains moments, je devrai également modifier des variables dans des fichiers, par exemple
- activer = 0 pour activer = 1
- Testing = "1" to Testing = "0"
- Ajoutez du texte sur une ligne. fonctions = à fonction = "texte1", "texte2"
- Ajoutez du texte à un fichier et enregistrez-le (avec nano)
Je sais que c'est exigeant mais j'ai besoin de créer cela pour un ami qui est un noob à la gestion de serveurs.Malheureusement, je n'ai pas le temps d'étudier le script bash dès le début de mes examens, j'utiliserai vos exemples pour écrire le script.
Merci les gars pour toutes les réponses que j'ai faites avec succès la plupart du script bash
Cependant, j'ai un autre problème Supposons que je souhaite modifier nginx.conf à l'aide de sed Nous traiterons avec worker_processes
Maintenant, je veux utiliser sed pour faire ce qui suit 1. Trouvez la PREMIÈRE occurrence de worker_processes
dans cette conf et remplacez le texte parworker_processes 4;
Note spéciale ici: Ceci est juste un exemple. Il peut arriver que la conf contienne les processus de travail 1; . C'est une partie difficile. Je veux une commande sed qui trouve la casse de correspondance FIRST wHOLE du mot worker_processes , supprime la ligne de texte où le mot est trouvé et et worker_processes 4;
y colle puis enregistre le fichier. C'est la méthode la plus fiable que je connaisse lors de la modification de fichiers (sans risque de rompre toute conf
Une dernière suggestion, j'ai utilisé sed -i 's / enabled = 0 / enabled = 1 / g' /etc/yum.repos.d/remi.repo pour changer enabled = 0 à enabled = 1 dans la section [remi] dans remi .repo .Cependant, j'ai le sentiment qu'il peut modifier tous les activé = 0 dans ce fichier, ce qui va détruire le serveur. Quelqu'un peut-il suggérer un meilleur code.
Autre chose dont je ne suis pas sûr: PI veut éditer un fichier qui a ceci comme Text Testing = "0" (Oui, il a des guillemets et je dois le garder) Il devrait être modifié de Testing = "0" à Testing = " 1 "(avec guillemets)
J'ai aussi besoin d'ajouter du texte avec des guillemets à la fin d'un fichier avec sed Comme "Merci Quanta" (avec guillemet) Pour php vous mettez un \ avec des guillemets en écho, je ne sais pas comment c'est fait pour bash
Une autre chose dont
j'ai besoin pour modifier une ligne dans une conf mais je ne me souviens pas quel est l'ensemble du texte à remplacer
Comme son écoute = quelque chose; , je veux le modifier pour écouter = /tmp/php5-fpm.sock;
Bravo pour les quanta
Merci pour le soutien formidable