[Risolto] errore da script bash "comando non trovato"

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Avatar utente
rigoletto
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 381
Iscrizione: domenica 14 settembre 2008, 23:20
Località: Valderice

[Risolto] errore da script bash "comando non trovato"

Messaggio da rigoletto »

Di tanto in tanto mi capita di dover modificare uno script che utilizzo giornalmente per la gestione personale del Salvataggio di sicurezza dell'unità dedicata ai miei dati.
Ultimamente ho cambiato pc desktop ed ho cambiato anche l'utilizzo del software e dei miei dati, secondo la logica seguente:
All'interno del case è posizionato un solo disco (sda) dove risiede il S.O. ed il file efi boot.
I miei dati sono posti in una unità a disco esterna.

Per la realizzazione del salvataggio giornaliero, utilizzo da tempo un disco con 3 partizioni, che impegno in maniera ciosclica, per salvare sempre interamente tutti i miei dati, come salvataggio giornaliero1, giornaliero2, giornaliero3.

Con l'arrivo del nuovo pc, ho deciso di sostituire detta unità a disco "Salvataggi" con 3 untà a disco esterne.

Sto perciò lavorando sullo script di esecuzione gornaliera dei salvataggi, per adeguare il l'attività alla nuova realtà fisica,

Ebbene, sono incorso in un errore che non riesco assolutamente a superare, perchè non ho ancora capito da che cosa può essere provocato. L'errore che viene prodotto durante l'esecuzione dello script è:
./bkpggNuovo.sh: riga 119: [[4199f775-d6b8-40e9-b9dc-032c74612d8a: comando non trovato
l'intervallo delle istruzione nel quale avviene ciò è:

Codice: Seleziona tutto

#---------------------------------- Ora leggo il contenuto del File-civetta 'fuidmiei' per convalidare in toto la validità del file in Input |dativariReali|
#		lettura file-civetta 'fuidmiei' contenente il codice UUID del volume |dativariReali|
fluidati="/media/dirdati/dativari/bkp_dati/fuidmiei"		# preparo lettura file fuidmiei
#----------
scelta=""
{
if [[ ! -f "$fluidati"  ]]; then    # se NON trovato
	echo "File $fluidati non trovato!"
	echo "vuoi crearlo? (n/S)"
    while scelta = "" 
    do
        read scelta
    done       
	echo "hai risposto: -$Scelta-"
    {
    if [[${scelta} != "S"]]; then
		echo "CHIUSURA forzata dall'utente"
		exit
    else
        echo "hai risposto: -$Scelta-"
        echo "Creo perciò il file civetta"
        echo ${uuidfluidati} > $fluidati
        echo "il file  $fluidati  e' stato Creato"
	fi
    }
else
    read -r fluidatiRec<$fluidati       # Eseguo la lettura del primo e unico record del file "fluidati"
   	echo "fluidatiRec= $fluidatiRec"		#  fluidatiRec contiene il codice UUID 4199f775-d6b8-40e9-b9dc-032c74612d8a
        echo "uuidfluidati= $uuidfluidati"		# uuidfluidati contiene il codice UUID 4199f775-d6b8-40e9-b9dc-032c74612d8a
    {
    if [[${fluidatiRec} == ${uuidfluidati}]]; then		# RIGA DI GENERAZIONE dell'ERRORE ---------------------------------------------------------------------------------------------------------------------------
        echo "fluidatiRec & uuidfluidati sono uguali"
    else
        echo "ATTENZIONE!"
        echo "Etichietta filedatimiei: '${etichInput}'"
        echo "Record file civetta: '${fluidatiRec}'"
        read scelta -n 1 "Vuoi riscrivere il file civetta? (n/S)"
        {
        if [[${scelta} != "S"]]; then
    		echo "CHIUSURA forzata dall'utente"
	    	exit
        else
    	    echo "hai risposto: -$Scelta-"
            echo "Riscrivo perciò il file civetta"
            echo ${uuidfluidati}>$fluidati
        	echo "il file  $fluidati  e' stato Ricreato"
    	fi
        }
    fi
    }  
fi      
}
Ho provato in tanti modi, uno di di essi è stato quello di forzare nelle variabili una stringa di fantasia, che no fosse quindi un codice UUID, ma come mi aspettavo non è cambiato nulla. Quello preparato nello script è un controllo di sicurezza, ma, se non riuscissi a superare lostacolo dovrò abbandonarlo.
Ultima modifica di rigoletto il domenica 19 luglio 2026, 19:26, modificato 1 volta in totale.
:ciao: (avevo una volta -> Ubuntu 22.04 LTS)
Avatar utente
cobra90nj
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 318
Iscrizione: venerdì 27 luglio 2007, 1:34
Località: NeT

Re: errore da script bash "comando non trovato"

Messaggio da cobra90nj »

Codice: Seleziona tutto

#---------------------------------- Ora leggo il contenuto del File-civetta 'fuidmiei' per convalidare in toto la validità del file
# lettura file-civetta 'fuidmiei' contenente il codice UUID del volume |dativariReali|
fluidati="/media/dirdati/dativari/bkp_dati/fuidmiei"  # preparo lettura file fuidmiei
#----------
scelta=""

if [[ ! -f "$fluidati" ]]; then  # se NON trovato
    echo "File $fluidati non trovato!"
    echo "Vuoi crearlo? (n/S)"
    while [[ -z "$scelta" ]]; do
        read scelta
    done
    echo "Hai risposto: -$scelta-"
    if [[ "$scelta" != "S" ]]; then
        echo "CHIUSURA forzata dall'utente"
        exit
    else
        echo "Hai risposto: -$scelta-"
        echo "Creo perciò il file civetta"
        echo "$uuidfluidati" > "$fluidati"
        echo "Il file $fluidati è stato creato"
    fi
else
    read -r fluidatiRec < "$fluidati"  # Eseguo la lettura del primo e unico record del file "fluidati"
    echo "fluidatiRec= $fluidatiRec"        # fluidatiRec contiene il codice UUID 4199f775-d6b8-40e9-b9dc-032c74612d8a
    echo "uuidfluidati= $uuidfluidati"      # uuidfluidati contiene il codice UUID 4199f775-d6b8-40e9-b9dc-032c74612d8a
    if [[ "$fluidatiRec" == "$uuidfluidati" ]]; then  # RIGA DI GENERAZIONE dell'ERRORE ------------------------------
        echo "fluidatiRec & uuidfluidati sono uguali"
    else
        echo "ATTENZIONE!"
        echo "Etichietta filedatimiei: '${etichInput}'"
        echo "Record file civetta: '${fluidatiRec}'"
        read -n 1 -p "Vuoi riscrivere il file civetta? (n/S)" scelta
        if [[ "$scelta" != "S" ]]; then
            echo ""
            echo "CHIUSURA forzata dall'utente"
            exit
        else
            echo ""
            echo "Hai risposto: -$scelta-"
            echo "Riscrivo perciò il file civetta"
            echo "$uuidfluidati" > "$fluidati"
            echo "Il file $fluidati è stato ricreato"
        fi
    fi
fi
Avatar utente
rigoletto
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 381
Iscrizione: domenica 14 settembre 2008, 23:20
Località: Valderice

Re: errore da script bash "comando non trovato"

Messaggio da rigoletto »

@ obra90nj
Immaginavo che fosse una banalità

Codice: Seleziona tutto

if [["$fluidatiRec" == "$uuidfluidati"]]; then 		# prima del tuo aiuto
if [[ "$fluidatiRec" == "$uuidfluidati" ]]; then 		#  dopo  
Ora funziona. Grazie
:ciao: (avevo una volta -> Ubuntu 22.04 LTS)
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 1 ospite