Repository 32bit  Forum
Repository 64bit  Wiki

Comportamento comando shuf

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata e la versione del Kernel. Questi dati aiutano le persone che possono rispondere.
2) Specificare sempre il tipo di shell (bash, sh, csh, etc...)
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza dell'ultima regola porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

Comportamento comando shuf

Messaggioda ulisse89 » sab ott 09, 2010 13:36

Ciao ragazzi. Vorrei chiedere un chiarimento riguardo il comando "shuf". Lo sto usando in questo modo:
Codice: Seleziona tutto
 ls DIR | shuf -n1

per farmi dare un nome casuale di file dentro a una directory.

Il problema è che se dò tale comando da bash direttamente, allora il risultato è quello giusto ( cioè un nome di file ).
Se invece inserisco il risultato dentro a una variabile, ottengo nient'altro che un numero.
Codice: Seleziona tutto
RANDOM=$( ls | shuf -n1)
echo $RANDOM
18881

Mi sapreste dire come mai? E come posso risolvere?
Grazie.
Avatar utente
ulisse89
Packager
Packager
 
Messaggi: 644
Iscritto il: sab gen 17, 2009 13:53
Località: Bologna
Nome Cognome: Riccardo
Slackware: 13.0
Kernel: 2.6.29.6
Desktop: Xfce

Re: Comportamento comando shuf

Messaggioda Ansa89 » sab ott 09, 2010 13:40

A me funziona correttamente:
Codice: Seleziona tutto
$a=`ls | shuf -n1`
$echo $a
nome_file_casuale
Avatar utente
Ansa89
Iper Master
Iper Master
 
Messaggi: 2571
Iscritto il: mer ago 29, 2007 17:57
Località: Modena
Nome Cognome: Stefano Ansaloni
Slackware: 13.1
Kernel: 3.9.2-ck1
Desktop: XFCE 4.6.1

Re: Comportamento comando shuf

Messaggioda ulisse89 » sab ott 09, 2010 13:43

Allora cosa faccio di sbagliato? Dò lo stesso identico comando.
Avatar utente
ulisse89
Packager
Packager
 
Messaggi: 644
Iscritto il: sab gen 17, 2009 13:53
Località: Bologna
Nome Cognome: Riccardo
Slackware: 13.0
Kernel: 2.6.29.6
Desktop: Xfce

Re: Comportamento comando shuf

Messaggioda Ansa89 » sab ott 09, 2010 13:55

Non saprei :roll: .
Ho provato ad usare la tua stessa sintassi e l'output in effetti è cambiato: ogni tanto capita che la variabile contenga più di un solo nome di file; sono confuso :? .

Prova ad usare la mia sintassi e vedi se cambia qualcosa anche a te.
Avatar utente
Ansa89
Iper Master
Iper Master
 
Messaggi: 2571
Iscritto il: mer ago 29, 2007 17:57
Località: Modena
Nome Cognome: Stefano Ansaloni
Slackware: 13.1
Kernel: 3.9.2-ck1
Desktop: XFCE 4.6.1

Re: Comportamento comando shuf

Messaggioda targzeta » sab ott 09, 2010 14:06

Solo una scelta infelice per il nome della variabile :)

http://digilinux.altervista.org/random.html

O anche dal man di bash:
Codice: Seleziona tutto
 RANDOM Each time this parameter is referenced, a random integer between 0 and 32767 is generated.
       The sequence of random numbers  may  be initialized  by assigning a value to RANDOM.
       If RANDOM is unset, it loses its special properties, even if it is subsequently reset.

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 5908
Iscritto il: gio nov 03, 2005 15:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: Comportamento comando shuf

Messaggioda ulisse89 » sab ott 09, 2010 14:23

spina ha scritto:Solo una scelta infelice per il nome della variabile :)

http://digilinux.altervista.org/random.html

O anche dal man di bash:
Codice: Seleziona tutto
 RANDOM Each time this parameter is referenced, a random integer between 0 and 32767 is generated.
       The sequence of random numbers  may  be initialized  by assigning a value to RANDOM.
       If RANDOM is unset, it loses its special properties, even if it is subsequently reset.

Emanuele

Ahah. Questa proprio mi è totalmente nuova e non l'avrei mai scoperto da solo.
Grazie Emanuele.
Avatar utente
ulisse89
Packager
Packager
 
Messaggi: 644
Iscritto il: sab gen 17, 2009 13:53
Località: Bologna
Nome Cognome: Riccardo
Slackware: 13.0
Kernel: 2.6.29.6
Desktop: Xfce


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite