* * *
Benvenuto! Effettua l'accesso oppure registrati.
19 Aprile 2021, 13:29:15

Inserisci il nome utente, la password e la durata della sessione.

Links

ads

Benvenuto


Benvenuto su la Community CentOS-Italia.Org

La Community Italiana di Linux CentOS e' lieta di averti tra noi , CentOS-Italia.Org e' un risorsa di guide e forum dal principiante al sistemista senior.
Clicca qua per registrati ora

La registrazione e' gratuita e ti consente di avere pieno accesso alle risorse di CentOS-Italia.org , come uso della ricerca avanzata , le funzioni interattive del portale e visualizzare i links nei post.
Gli utenti registrati non visualizzano gli ads, quindi registrati subito se non l'hai gia fatto.

Lo staff di CentOS-Italia.Org cerca di rendere la community un posto piacevole e il piu' produttivo possibile, invitiamo quindi i nuovi utenti a leggere le regole base.
Per info o problemi di registrazione scrivere a centos (at) centos-italia.org .

Autore Topic: script  (Letto 2428 volte)

Offline thefantaman

  • Jr. Member
  • **
  • Post: 38
    • Mostra profilo
script
« il: 17 Novembre 2011, 12:38:27 »
Ciao a tutti,
mi sto incartando su una questione che per voi di sicuro banale: vorrei creare uno script che che mi va a prendere le variabili da dei file .cfg e mi deve utilizzare le variabili di un solo file alla volta. Help me please  :)

Offline smeserver

  • Hero Member
  • *****
  • Post: 1313
    • Mostra profilo
Re: script
« Risposta #1 il: 17 Novembre 2011, 14:06:14 »
ri-definisci, grazie.. con esempio esaustivo ;-)

Offline thefantaman

  • Jr. Member
  • **
  • Post: 38
    • Mostra profilo
Re: script
« Risposta #2 il: 17 Novembre 2011, 14:28:25 »
ok, mi spiego meglio  :)
ho diversi pc da backuppare, per non stare a riscrivere ogni volta il file di backup volevo fare in modo di creare una batch che mi lancia il salvataggio mentre le variabili, quali ip, cartella di origine e cartella di destinazione, vengono presi da altri file.
Nel frattempo ho fatto delle prove, questi i file che ho creato:
# more lancio.sh
for i in $(ls *.cfg|awk  '{print $1}')
do
cat $i
echo "fine ciclo"
done

#more primo.cfg
A=pippo
B=pippa


#more secondo.cfg
A=mmmmm
B=ppppppp

Se eseguo
#./lancio.sh
a video mi viene restiuito
A=pippo
B=pippa
fine ciclo
A=mmmmm
B=ppppppp
fine ciclo

ora a me interessa esportarmi A e B come variabili.
Spero di essere stato pi chiaro. Grazie mille!  :)

Offline smeserver

  • Hero Member
  • *****
  • Post: 1313
    • Mostra profilo
Re: script
« Risposta #3 il: 17 Novembre 2011, 14:36:05 »
http://tldp.org/LDP/abs/html/internal.html#EX38

chiavi di ricerca: "shell scripts file inclusion"

HTH

Offline thefantaman

  • Jr. Member
  • **
  • Post: 38
    • Mostra profilo
Re: script
« Risposta #4 il: 17 Novembre 2011, 17:46:29 »
THANKS!!!!
Fantastico, ho risolto il mio problema, uso
source $i
per richiamare il testo inserito in un altro file.
Se ci fosse una sezione dove esprimere i gradimenti sulle persone del forum ti darei un +  :D

Offline jerg

  • Full Member
  • ***
  • Post: 99
    • Mostra profilo
    • E-mail
Re: script
« Risposta #5 il: 18 Novembre 2011, 15:15:37 »
puoi usare
Codice: [Seleziona]
source filedaintergare.cfg
oppure

Codice: [Seleziona]
. /file/da/integrare
da un occhiata agli script dei servizi in rc.d

attento per non possibile integrare ricorsivamente i file tramite variabili, tipo
Codice: [Seleziona]
llistafile="/etc/file1.cfg /etc/file2.cfg"
for a in $listafile; do
   source $a
done
in questo modo da errore e in ogni caso in questi file stabilisci delle variabili bash che occupano ram(comunque poca) non come leggere un file di configurazione e usarne i valori all'occorrenza

ti dico questo perch non possibile fare come, ad esempio, apache che integra tutti i file config in un acartella indipendentemente dai nomi

tempo f ho scritto questo script che legge un file di configurazione(formato variabile=valore) ed esporta come variabili d'ambiente
Codice: [Seleziona]
# Questo script legge un file di configurazione passato come parametro alla funzione e esporta i valori come variabili globali
# (utilizabili da altri programmi in esecuzione), lo script sostituisce = con uno spazio e poi esporta il "nome" assegnandogli
# il valore "val".
#
# Sintassi valori file di configurazione
#
# nome=val
#
#
# Sintassi del comando:
#
# readconf [pathconffile.conf]
#
#
# non sono ammessi commenti nel file di configurazione
#
#
readconf () {
        #controllo che il file di configurazione passato sia valido
        if [ -z $1 ]; then
                echo 'Error: no config file'
        elif [ -r $1 ]; then
                #echo 'Reading configuration file '$1
                #leggo file
                for a in $(cat $1); do
                        a=$(echo $a |  awk -F = '{print $1 " " $2}') #divide la stringa a togliendo = e inserendo al suo posto uno spazio
                        set -- $a #assegna i due valori a $1 e $2
                        VARNAME=$1 #nome variabile
                        VARVAL=$2 #valore variabile
                        export $VARNAME=$VARVAL #esporta il nome della variabile con il suo valore
                done
        else
                echo 'Error: config file not found'
        fi
}

es del file di configurazione
Codice: [Seleziona]
nome=ciccio
cognome=ndandini
indirizzo=viaaaaaa
« Ultima modifica: 20 Novembre 2011, 11:17:40 di jerg »

 

Notizie

Registrati ora per avere pieno accesso a tutte le risorse della community , necessaria anche per area download, i link nei post, e altre funzioni.

Collegamenti

Posts Recenti

Utenti
  • Utenti in totale: 5959
  • Ultimo: Sina
Statistiche
  • Post in totale: 13156
  • Topic in totale: 2961
  • Online Oggi: 170
  • Massimi online: 9639
  • (14 Gennaio 2020, 10:20:21)
Utenti Online
Utenti: 0
Visitatori: 158
Totale: 158

Permessi

-no content-

ShoutBox!

Ultimo 5 Shout:

fzphoto

19 Febbraio 2018, 09:18:24
Ciao a tutti. Ho installato l'ultima versione di centos 7 per poter lavorare comodamente con DaVinci resolve 14. Solo che non riesco, ne a installare il programma Davinci, ne tanto meno, il driver nvidia per la scheda grafica geoforce 1080 ti. Sul web non trovo niente che mi aiuti. Premetto che sono

aner64

07 Febbraio 2018, 11:21:40
Buongiorno. Ho installato l'ultima versione di CENTOS7 aggiornata alla 7.0.4.1708. Ho bisogno di fare un restore di file da un filesystem reiserfs. CENTOS7 non ha reiserfs tra i FS e bisogna installarlo. Quando di cerca di installare kmod-reiserfs-0.0-2.el7.elrepo.x86_64.rpm escono errori per mancan
 

LonelyWolf

28 Dicembre 2017, 08:37:34
da ieri non vedo pi il css solo un problema mio?

trattore

28 Settembre 2015, 03:30:48
ma qui non c' mai nessuno
 ;)

ivo

26 Agosto 2015, 16:01:14
Ho configurato il DHCP creato il file /etc/dhcpd.conf con il seguente contenuto
-------------------------------------------------------------------------------
ddns-update-style interim;
ignore client-updates;

authoritative;

subnet 172.16.208.96 netmask 255.255.255.240 {
    option routers      

Mostra ultimi 50