Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 13/10/2016, à 22:32

tmyrlln

Inclure la variable $RANDOM dans une commande

Bonsoir,
Pour un projet à réaliser en Informatique qui consiste à créer un petit programme sous C-Shell, j'ai décidé de faire un générateur de mot de passe. Ainsi, j'ai terminé tout ce qui consistait à afficher un menu et à rediriger les entrées mais maintenant j'arrive à la génération. Ce que je veux faire pour générer aléatoirement un mot de passe est que lorsque l'utilisateur entre une longueur pour son mdp, la commande sed va piocher dans un fichier appelé Alphabet.txt (composé des 26 lettres, une par ligne) une ligne au hasard et cela le nombre de fois que la longueur entrée. Ainsi j'obtiens le script suivant :

#!/bin/csh
echo "Entrez la longueur de votre mot de passe :"
set l=$<
repeat $l sed -n $(($RANDOM*26/32767))p Alphabet.txt

et j'aimerais que les caractères affichés par sed soient affichés à la fin et obtenir le mdp, de plus il est évident qu'il y a un problème avec la variable RANDOM (j'obtiens "Illegal variable name) mais j'aimerais qu'elle soient reconnues comme un chiffre lisible par sed.
Merci d'avance pour vos réponses.

Hors ligne

#2 Le 14/10/2016, à 00:54

Watael

Re : Inclure la variable $RANDOM dans une commande

salut,

RANDOM ne semble pas disponible sous csh.
elle n'existe pas sous dash.

pourquoi csh ?


Connected \o/
Welcome to sHell. · eval is evil.

En ligne

#3 Le 14/10/2016, à 13:08

tmyrlln

Re : Inclure la variable $RANDOM dans une commande

Bonjour,
sisi la vaiabe $RANDOM existe bien. Un fichier .csh avec echo $RANDOM affiche bien un chiffre aléatoire.
Pourquoi csh? Parce ce que j'ai l'obligation de le fare en C-Shell.

Hors ligne

#4 Le 14/10/2016, à 13:48

Watael

Re : Inclure la variable $RANDOM dans une commande

$ readlink -f $(which csh)
/bin/bsd-csh
$ cat >f.csh
#!/bin/csh  
echo $RANDOM
$ chmod +x f.csh
$ ./f.csh
RANDOM: Undefined variable.
$ 

avec /usr/bin/tcsh, c'est pareil !?

Dernière modification par Watael (Le 14/10/2016, à 13:48)


Connected \o/
Welcome to sHell. · eval is evil.

En ligne

#5 Le 14/10/2016, à 16:43

pingouinux

Re : Inclure la variable $RANDOM dans une commande

Bonjour,

Watael #4 a écrit :

avec /usr/bin/tcsh, c'est pareil !?

Oui

Hors ligne

#6 Le 14/10/2016, à 22:35

tmyrlln

Re : Inclure la variable $RANDOM dans une commande

Re-Bonsoir,
effectivement il semble que $RANDOM n'existe pas sous csh, du coup il me faudra un autre moyen d'afficher des lignes aléatoires d'un fichier. Une des solutions serait d’utiliser la commande cat.

Hors ligne

#7 Le 14/10/2016, à 22:45

pingouinux

Re : Inclure la variable $RANDOM dans une commande

La commande sort peut mélanger aléatoirement les lignes d'un fichier :

sort -R fichier

mais chaque ligne n'apparaît qu'une seule fois.

Édité : Tu peux aussi récupérer les lignes une par une, ce qui remédie à la limitation précédente

sort -R fichier | head -1

Ajouté : La commande apg génère des mots de passe aléatoires. Voir le man pour en choisir la longueur et les caractères utilisés.

Dernière modification par pingouinux (Le 14/10/2016, à 23:10)

Hors ligne

#8 Le 14/10/2016, à 23:02

tmyrlln

Re : Inclure la variable $RANDOM dans une commande

Merci pour ta réponse,
il semble que cette commande colle parfaitement à ma demande : shuf -n 1 Alphabet.txt
ce qui me donne : repeat shuf -n 1 Alphabet.txt >> mdp.txt

Hors ligne

#9 Le 14/10/2016, à 23:11

pingouinux

Re : Inclure la variable $RANDOM dans une commande

J'ai complété ma réponse précédente pendant que tu rédigeais la tienne.

Hors ligne

#10 Le 14/10/2016, à 23:14

tmyrlln

Re : Inclure la variable $RANDOM dans une commande

ah oui merci,
cette commande intéressante mais vu que c'est un projet à réaliser avec C-shell et le cours, il est nécessaire que j'utilise certaines commandes vues en cours et les redirections.
Mais merci pour tes réponses.

Hors ligne

#11 Le 14/10/2016, à 23:53

Watael

Re : Inclure la variable $RANDOM dans une commande

à un moment j'ai eu à trouver ceci :

tr -dc a-z < /dev/urandom | head -c 8; echo

Connected \o/
Welcome to sHell. · eval is evil.

En ligne