Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete implementa due bracci estensibili, per spazzola e moccio, che si spingono ben oltre quanto visto sino ad oggi permettendo una pulizia di casa ancor più capillare e precisa
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
La tecnologia SQD-Mini LED di TCL arriva sul taglio da 65 pollici con la serie C8L: 2040 zone, pannello WHVA 2.0 e un picco che alle rilevazioni delle sonde tocca i 4400 nit nel profilo Filmmaker e un HDR quasi perfetto
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro
Wireless 2.4 GHz, Bluetooth 5.4, cancellazione attiva del rumore, design pieghevole e un'autonomia che mette in imbarazzo prodotti che costano il doppio. Le Maestro 500 non eccellono in nulla, ma offrono tutto. E a questo prezzo è difficile chiedere di più
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-01-2007, 13:45   #1
petitof
Senior Member
 
Iscritto dal: Apr 2004
Messaggi: 435
[Bash] Script che legge utenti e password da un file...

Ciao a tutti!
Volevo chiedervi se avevate qualche indicazione in merito a quello che starei cercando di fare!
Ho già fatto dei tentativi però volevo chiedervi la via più corretta da seguire!

Grazie in anticipo!



Esemio:



#!/bin/bash


GetPassword()
{
filename=/opt/oracle/admin/user.conf
utente=$1
echo $utente

if [ "$utente" = "$line" ]
then
password=
fi

return password
}


password=GetPassword $1




Come faccio a leggere da un file esterno e restituire il parametro?!

Ultima modifica di petitof : 17-01-2007 alle 13:53.
petitof è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2007, 13:53   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da petitof
Volevo chiedervi se avevate qualche indicazione in merito a quello che starei cercando di fare!
Cioè cosa di preciso??
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2007, 13:56   #3
petitof
Senior Member
 
Iscritto dal: Apr 2004
Messaggi: 435
Ciao!
Grazie per l'aiuto..spero di ricambiare in futuro!!

Avrei un file di testo che contiene per ogni riga:

utente1/password1
utente2/password2
.
.
.
utenten/passwordn

Ogni linea termina con un "a capo"....che comando utilizzo all'interno della mia funzione per poter leggere questo file di testo e verificare se l'utenza è quella che ho dato in input?!!
petitof è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2007, 14:05   #4
loris_p
Senior Member
 
L'Avatar di loris_p
 
Iscritto dal: Aug 2006
Messaggi: 365
cat e read
loris_p è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2007, 14:13   #5
petitof
Senior Member
 
Iscritto dal: Apr 2004
Messaggi: 435
E' su queste due cose che sono bloccato:


1) non conosco la sintassi del ciclo for che legga riga per riga dall'inizio alla fine del file!

2) non so come prendere la password da una variabile=utenza/password, esiste la possibilità di avere la posizione da cui partire sapende che la password parte da "/" fino alla fine della linea??

petitof è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2007, 14:16   #6
loris_p
Senior Member
 
L'Avatar di loris_p
 
Iscritto dal: Aug 2006
Messaggi: 365
allora direi che una letta a questo indirizzo http://www.pluto.it/files/ildp/guide/abs/index.html può esserti molto utile
loris_p è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2007, 14:20   #7
petitof
Senior Member
 
Iscritto dal: Apr 2004
Messaggi: 435
Intanto grazie ai motori di ricerca ho modificato il mio script in:

#!/bin/bash

GetPassword()
{
filename=/opt/oracle/admin/user.conf
utente=$1
echo $utente

for linea in `cat $filename`
do
if [ $utente = $linea ]
then
password=$linea
fi
done

return password
}

password=GetPassword $1



Ma non va chiaramente perchè non so nemmeno come restituire un parametro!!!! ....non so niente!!!!

Ora leggo il link che mi hai consigliato...grazie!!
petitof è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2007, 14:25   #8
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Ecco un esempio:
Codice:
...

cat filepwd.txt | { while read LINEA
do
    set $LINEA
    if [ "$UTENTE" = "$1" -a "$PASSWORD" = "$2" ]; then
        exit 0
    fi
done
exit 1; }

if [ $? = 0 ]; then
    echo "Utente/Password corretti"
else
    echo "Utente/Password sbagliati"
fi
All'inizio ci devono essere 2 variabili $UTENTE e $PASSWORD, ovviamente con i dati da verificare.
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2007, 14:32   #9
petitof
Senior Member
 
Iscritto dal: Apr 2004
Messaggi: 435
Ora è:

#!/bin/bash

GetPassword()
{
filename=/opt/oracle/admin/user.conf
utente=$1
echo $utente

for linea in `cat $filename`
do
if [ $utente = $linea ]
then
password=$linea
fi
done

return $password
}
GetPassword $1
password=$?
echo $password







Solo che in input dò l'utenza ed avrei l'esigenza che mi restituisse la password!
il mio problema è che script che lavorano per oracle e spesso mi capita di dover cambiare una password e di impazzire a modificarli tutti, quindi volevo centralizzare il tutto in un file di conf e utilizzare la funzione per prendermi la mia info...

petitof è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2007, 14:35   #10
petitof
Senior Member
 
Iscritto dal: Apr 2004
Messaggi: 435
Punto 1 smarcato!!!!!!
Per la restituzione delle stringhe o array ho bisogno di una variabile dedicata!!! (dalla guida che mi hai segnalato..)

#!/bin/bash

GetPassword()
{
filename=/opt/oracle/admin/user.conf
utente=$1
echo $utente

for linea in `cat $filename`
do
if [ $utente = $linea ]
then
PASSWORD=$linea
fi
done

return $password
}
GetPassword $1
echo $PASSWORD



Ora mi manca il punto 2, perchè al momento mi restituisce tutta la riga!!!!
petitof è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2007, 14:37   #11
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da petitof
Solo che in input dò l'utenza ed avrei l'esigenza che mi restituisse la password!
il mio problema è che script che lavorano per oracle e spesso mi capita di dover cambiare una password e di impazzire a modificarli tutti, quindi volevo centralizzare il tutto in un file di conf e utilizzare la funzione per prendermi la mia info...
Da una funzione (o processo) puoi solo far ritornare un valore numerico, non stringhe di testo o altro.

Nella funzione dovresti fare un echo della password e poi chiamare la funzione con:

PASS=`GetPassword $1`

(Nota i back-quote)
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2007, 15:05   #12
petitof
Senior Member
 
Iscritto dal: Apr 2004
Messaggi: 435
Grazie cmq ti posto la mia funzionante!!!


#!/bin/bash

# INIZIO
# FUNZIONE CHE RESTITUISCE COME STRINGA LA PASSWORD
GetPassword()
{
filename=/opt/oracle/admin/user.conf
utente=$1
#echo " e fin qua=:"$utente

for linea in `cat $filename`
do
utentefile=${linea:0:${#utente}}
#echo " utente nel file="$utentefile
if [ $utente = $utentefile ]
then
PASSWORD=${linea:${#utente}+1}
fi
done

return $password
}
GetPassword $1
password=$PASSWORD
#FINE



echo $password




petitof è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2007, 15:33   #13
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Le variabili, nella bash, sono condivise tra il chiamante e la funzione chiamata ... a meno che la variabile venga dichiarata con il builtin local all'interno della funzione (per cui avrebbe uno scope locale).

Quindi la tua $password non è definita da alcuna parte, la return non serve e stai semplicemente passando la variabile $PASSWORD tra la funzione e il chiamante.
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2007, 16:14   #14
petitof
Senior Member
 
Iscritto dal: Apr 2004
Messaggi: 435
Grazie!

In effetti...corro subito a levare il return!!!!
petitof è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati TCL 65C8L, la recensione del SQD-Mini LED da 440...
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro MSI Maestro 500 Wireless: ANC e 90 ore di autono...
NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine NL-LC1 è il primo dissipatore a liquido A...
Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con Android 15 e penna, dal prezzo super Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con ...
NVIDIA mostra una comunità di rob...
Sony annuncia LYTIA L910, arriva il sens...
Ericsson, il 5G è l’infrastruttur...
Marvell punta tutto su TSMC A14: sar&agr...
Hyundai a un passo dal controllo totale ...
Questo SSD vecchio 16 anni ha resistito ...
Monopattino elettrico Xiaomi in offerta:...
Microsoft usa le capre di Age of Empires...
Microsoft conferma bug nel Cestino in tu...
Accenture crolla del 20% in borsa, il pe...
ASUS Pro WS W890E-SAGE SE: sette PCIe 5....
Attenzione al prezzo di questa TV Hisens...
Chrome sbeffeggiato da Ballmer nel 2009:...
Un gioco Mac compatibile con Apple Silic...
La batteria allo stato solido di Honda s...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 23:20.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v