Soy un principiante en bash scripting. Quiero crear un script bash para instalar, instalar y configurar cosas en mi caja de Linux de forma automatizada.
Supongamos que quiero editar
/etc/yum.repos.d/epel.repo
por el script bash
Lo que quiero hacer es lo siguiente
- Abra el archivo /etc/yum.repos.d/epel.repo
- Buscar la sección [epel]
- Agregue una prioridad de línea = 10 justo después de la línea habilitada = 1 en la sección de epel
Para la primera parte agregué
yum install nano
nano /etc/yum.repos.d/epel.repo
Mi pregunta es cómo hacer la segunda y tercera parte con el script bash usando nano (si es posible, en caso de que no sea posible, muéstrame con sed)
También en algunos puntos tendré que modificar variables en archivos. Por ejemplo
- habilitar = 0 para habilitar = 1
- Prueba = "1" a Prueba = "0"
- Añadir texto en una línea. funciones = a función = "texto1", "texto2"
- Agregue texto a un archivo y guárdelo (con nano)
Sé que es exigente, pero necesito crear esto para un amigo que es novato en la administración de servidores. Desafortunadamente, no tengo tiempo para estudiar scripts de bash desde el principio, ya que mis exámenes están cerca. Usaré sus ejemplos para escribir el script.
Chicos, gracias por todas las respuestas que he hecho con éxito la mayor parte del script bash
Sin embargo, tengo otro problema. Supongamos que quiero modificar nginx.conf usando sed. Trataremos con obrero_procesos.
Ahora quiero usar sed para hacer lo siguiente. 1.Encontrar la PRIMERA aparición de worker_processes
esa configuración y reemplazar el texto conworker_processes 4;
Nota especial aquí: este es solo un ejemplo. Puede suceder que la conf contenga trabajador_procesos 1; . Esta es una parte difícil. Quiero un comando sed que encuentre el primer caso de coincidencia de la palabra trabajador_procesos , elimine la línea de texto donde se encuentra la palabra y pegue worker_processes 4;
allí y luego guarde el archivo. Este es el método más confiable que pensé al editar archivos (sin ningún riesgo de romper cualquier conf
Una última sugerencia que utilicé sed -i 's / enabled = 0 / enabled = 1 / g' /etc/yum.repos.d/remi.repo para cambiar enabled = 0 a enabled = 1 en la sección [remi] en remi .repo. Sin embargo, tengo la sensación de que puede modificar todo habilitado = 0 en ese archivo, lo que dañará el servidor. ¿Alguien puede sugerir un código mejor?
Otra cosa de la que no estoy seguro: PI quiere editar un archivo que tiene esto como Prueba de texto = "0" (Sí, tiene comillas y necesito mantenerlo) Debe modificarse de Prueba = "0" a Prueba = " 1 "(con comillas)
También necesito agregar algo de texto con comillas al final de un archivo con sed Como "Gracias Quanta" (con comillas) Para php pones un \ con comillas de eco, no sé cómo se hace para bash
Otra cosa
que necesito para modificar una línea en una conf pero no recuerdo cuál es el texto completo para reemplazar
Al igual que su escuchar = algo; , quiero modificarlo para escuchar = /tmp/php5-fpm.sock;
Un gran aprobado para quanta
Gracias por el increíble apoyo chicos