Buongiorno a tutti, ho un piccola problema che non riesco a risolvere. Sto scrivendo uno script che richiede di inserire una stringa, se questa stringa esiste nel file allora chiama una funzione, altrimenti segnala l'errore.
io ho provato cosi:
echo "Inserire nome del gruppo"
read nome_gruppo
if [ grep $nome_gruppo group=0 ]
then
funzione1 #viene chiamata la funzione
else
echo " è falso." #dovrebbe ritornare a richiedere il nome del gruppo
fi
script: verifica esistenza di una stringa nel file [risolto]
-
JordanDunk
- Prode Principiante
- Messaggi: 55
- Iscrizione: lunedì 24 aprile 2017, 15:48
- Desktop: Ubuntu
- Distribuzione: Ubunto 16.10 | x86_64
- Sesso: Maschile
script: verifica esistenza di una stringa nel file [risolto]
Ultima modifica di JordanDunk il giovedì 27 aprile 2017, 16:45, modificato 2 volte in totale.
- UbuNuovo
- Imperturbabile Insigne

- Messaggi: 4457
- Iscrizione: sabato 12 dicembre 2009, 20:58
- Desktop: Mate
- Distribuzione: Ubuntu Mate 22.04.1 LTS
- Sesso: Maschile
- Contatti:
Re: problema con file e bash
Non ho capito quel 'group=0', se devi fare un'assegnazione la devi fare fare dopo "then" o "else".
Per la verifica non serve usare 'test'.
Se, in caso di errore, devi far inserire nuovamente il testo puoi mettere richiesta e verifica in una funzione, tipo:
-q serve per non avere output da grep
Se non vuoi che la verifica sia case-sensitive aggiungi l'opzione "i", cioè '-qi'
P.S. Metti un titolo esplicativo e usa il tag code per il codice.
Per la verifica non serve usare 'test'.
Se, in caso di errore, devi far inserire nuovamente il testo puoi mettere richiesta e verifica in una funzione, tipo:
Codice: Seleziona tutto
#!/bin/bash
nome_file='elenco_gruppi.txt'
function funzione1(){
echo "Ciao, sono funzione1"
}
function inserimento(){
echo "Inserire nome del gruppo"
read nome_gruppo
if ! grep -q "$nome_gruppo" "$nome_file"; then
echo -e "Nome gruppo non valido! Reinserirlo\n"
inserimento
fi
}
inserimento
funzione1Se non vuoi che la verifica sia case-sensitive aggiungi l'opzione "i", cioè '-qi'
P.S. Metti un titolo esplicativo e usa il tag code per il codice.
Salva l'Ucraina! 
-
JordanDunk
- Prode Principiante
- Messaggi: 55
- Iscrizione: lunedì 24 aprile 2017, 15:48
- Desktop: Ubuntu
- Distribuzione: Ubunto 16.10 | x86_64
- Sesso: Maschile
Re: problema con file e bash
Grazie mille, veramente utile.
Devo ancora esercitarmi bene con l'uso delle if e come la bash interpreta i comandi perchè sono abituato con il C.
Posso ricambiarti il favore in qualche modo?
Devo ancora esercitarmi bene con l'uso delle if e come la bash interpreta i comandi perchè sono abituato con il C.
Posso ricambiarti il favore in qualche modo?
- UbuNuovo
- Imperturbabile Insigne

- Messaggi: 4457
- Iscrizione: sabato 12 dicembre 2009, 20:58
- Desktop: Mate
- Distribuzione: Ubuntu Mate 22.04.1 LTS
- Sesso: Maschile
- Contatti:
Re: problema con file e bash [risolto]
Si! Puoi dare aiuto ad altri utenti.
Puoi cominciare cambiando il titolo in uno che indichi lo specifico problema; in questo modo altri utenti possono trovare facilmente quello che cercano.

Puoi cominciare cambiando il titolo in uno che indichi lo specifico problema; in questo modo altri utenti possono trovare facilmente quello che cercano.
Salva l'Ucraina! 
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 2 ospiti