Sono un principiante nello scripting bash. Voglio creare uno script bash per installare l'installazione e configurare i contenuti sul mio box di Linux in modo automatizzato.
Supponiamo che io voglia modificare
/etc/yum.repos.d/epel.repo
dallo script bash
Quello che voglio fare è il seguente
- Apri il file /etc/yum.repos.d/epel.repo
- Trova la sezione [epel]
- Aggiungi una priorità di linea = 10 subito dopo la linea abilitata = 1 nella sezione epel
Per la prima parte ho aggiunto
yum install nano
nano /etc/yum.repos.d/epel.repo
La mia domanda è come fare la 2a e 3a parte con bash script usando nano (se possibile, nel caso non fosse possibile, allora mostrami con sed)
Anche in alcuni punti dovrò modificare le variabili nei file per es
- abilita = 0 per abilitare = 1
- Testing = "1" a Testing = "0"
- Aggiungi testo in una riga. funzioni = per funzione = "testo1", "testo2"
- Aggiungi del testo a un file e salvalo (con nano)
So che è impegnativo, ma devo crearlo per un amico che non è esperto nella gestione dei server. Sfortunatamente non ho tempo di studiare lo script bash fin dall'inizio dei miei esami. Userò i tuoi esempi per scrivere lo script.
Ragazzi, grazie per tutte le risposte che ho fatto con successo la maggior parte della sceneggiatura di Bash
Comunque ho un altro problema Supponiamo che io voglia modificare nginx.conf usando sed Ci occuperemo di worker_processes
Ora voglio usare sed per fare quanto segue 1. Trovare la PRIMA occorrenza di worker_processes
in quella conf e sostituire il testo conworker_processes 4;
Nota speciale qui: questo è solo un esempio. Può succedere che il conf contenga worker_processes 1; . Questa è una parte difficile. Voglio un comando sed che trovi il PRIMO caso di corrispondenza di WHOLE della parola worker_processes , elimini la riga di testo in cui si trova la parola e li incolli worker_processes 4;
e quindi salvi il file. Questo è il metodo più affidabile che ho pensato durante la modifica dei file (senza alcun rischio di interrompere qualsiasi conf
Un ultimo suggerimento ho usato sed -i 's / enabled = 0 / enabled = 1 / g' /etc/yum.repos.d/remi.repo per cambiare enabled = 0 in enabled = 1 nella sezione [remi] in remi .repo. Tuttavia ho la sensazione che possa modificare tutti abilitati = 0 in quel file, il che rovinerà il server. Qualcuno può suggerire un codice migliore.
Un'altra cosa di cui non sono sicuro: PI vuole modificare un file che ha questo come Test del testo = "0" (Sì, ha virgolette e devo tenerlo) Dovrebbe essere modificato da Test = "0" a Test = = 1 "(con virgolette)
Inoltre ho bisogno di aggiungere un po 'di testo con le virgolette alla fine di un file con sed. Come "Grazie Quanta" (con virgolette) Per php hai messo un \ con eco tra virgolette, non so come è fatto per bash
Un'altra cosa che
devo modificare una riga in un conf, ma non ricordo quale sia l'intero testo da sostituire
Mi piace ascolta = qualcosa; , voglio modificarlo per ascoltare = /tmp/php5-fpm.sock;
Grandi pollici in su per quanti
Grazie per il fantastico supporto ragazzi