#1 Le 18/05/2008, à 11:37
- n3o51
Message d'accueil lettre par lettre dans un terminal
Bonjour a tous ......
Suite a différents topic je poste ici la solution pour avoir a l'ouverture d'un terminal un message d'accueil qui s'affiche dans un style machine a écrire.
Donc dans votre ~/.bashrc
##Message d'accueil lettre par lettre
message="Wake up Neo !!! The matrix has you ..."
nLetter=${#message}
i=0
while [ "$i" -lt "$nLetter" ]
do
sleep 0.1
echo -n "${message:$i:1}"
(( i += 1 ))
done
echo
Cela a pour effet de faire un message a l'ouverture de votre terminal lettre par lettre ....
Maintenant je recherchais bien plus moi, je voulais un message d'accueil si vous avez vu le film Matrix....Quand Trinity ce connecte a l'ordinateur de Neo et marque Wake up neo etc
Mais le but étant d'écrire la ligne ci-dessus enfin de l'effacer et de récrire une ligne etc.....
la fonction a mettre dans le bashrc et la suivante
tapelentement () {
for((i=0;i<${#1};i++)) ; do
printf "${1:$i:1}"
sleep 0.1
done
}
tapelentement "Wake up ,Neo"
$minute." | espeak -v fr -s 140 &
printf "\r%60s\r"
tapelentement "The matrix has you"
printf "\r%60s\r"
tapelentement "Follow the white rabbit"
printf "\r%60s\r"
tapelentement "Knock Knock Neo"
printf "\r%60s\r"
echo //cette ligne permet le retour a la ligne
Voila !!!!
Dernière modification par n3o51 (Le 18/05/2008, à 15:35)
Welcome to the real world
________________________________
Hors ligne
#2 Le 18/05/2008, à 15:28
- n3o51
Re : Message d'accueil lettre par lettre dans un terminal
Je vais editez mon premier poste
#!/bin/bash
function neo
{
espeak -v us -s 140 "$*" &
m=$*;n=${#m};i=0
while [ $i -lt $n ];do
sleep 0.05
echo -n "${m:$i:1}"
((i+=1))
done;echo
}
clear
neo "Wake up , Neo"
sleep 1 && clear
neo "The matrix has you"
sleep 1 && clear
neo "Follow the white rabbit"
sleep 1 && clear
neo "Knock knock Neo"
Celui es super aussi il permet de lire en meme temps ceux qui es ecrit !!!!
C'est effectivement cela que je recherchais
Merci ..........................................
Dernière modification par n3o51 (Le 18/05/2008, à 15:39)
Welcome to the real world
________________________________
Hors ligne
#3 Le 18/05/2008, à 15:45
- n3o51
Re : Message d'accueil lettre par lettre dans un terminal
Avant neo "blabla" peut-on faire clignote le pointeur
Welcome to the real world
________________________________
Hors ligne
#4 Le 18/05/2008, à 16:04
- n3o51
Re : Message d'accueil lettre par lettre dans un terminal
J'ai trouvé mettre un sleep 1 et ca roule
Welcome to the real world
________________________________
Hors ligne
#5 Le 18/05/2008, à 18:42
- ChRiiS
Re : Message d'accueil lettre par lettre dans un terminal
Euuu, pourquoi mon message est passé à la trappe ? En plus il avait l'air de satisfaire l'auteur du post...
Hm bizarre...
Bref je le remets en quote:
Salut n3o51,
Je t'avouerais que j'ai peur d'être un peu passer à côté de ce que tu voulais vraiment mais je me lancer quand même.
Pour commencer créer un fichier et dedans tu y mets le script suivant:
#!/bin/bash function neo { espeak -v us -s 140 "$*" & m=$*;n=${#m};i=0 while [ $i -lt $n ];do sleep 0.05 echo -n "${m:$i:1}" ((i+=1)) done;echo } clear neo "Wake up , Neo" sleep 1 && clear neo "The matrix has you" sleep 1 && clear neo "Follow the white rabbit" sleep 1 && clear neo "Knock knock Neo"
Tu l'enregistre sous le nom que tu veux (on dira que tu l'appellera matrix_style pour la suite), puis
chmod +x matrix_style (ou clique droit sur le fichier puis Permissions et enfin tu cocher "Exécution")
Et voilà.
N'hésite pas à me dire là où je n'ai pas compris (si c'est le cas) où a être un peu plus clair dans tes explications ^^"
PS: Pour la ligne avec l'heure et le jours je pense que ceci serait assez efficace:
echo "Neo nous sommes le `date "+%m %h %Y"`, il est `date "+%Hh%M:%S"`."
Mais en tout cas, je vois que c'était ce que tu voulais faire, c'est le principal, et effectivement pour sleep, tu as bien vu où c'était
Hors ligne
#6 Le 18/05/2008, à 18:45
- ChRiiS
Re : Message d'accueil lettre par lettre dans un terminal
Arf et maintenant quand je post, ça double post...
Je ne peux pas croire que ça vienne du forum, ça doit venir de chez moi et j'en suis navré (ça explique aussi peut-être la disparition du post..)
(Pour info si ça peut aider, je suis sur un héron gnomesque avec Fx 3b5)
PS: Merci au gentil modo qui passera ici faire le ménage, et désolé pour la surcharge de travail
Hors ligne
#7 Le 18/05/2008, à 18:46
- slasher_fun
Re : Message d'accueil lettre par lettre dans un terminal
Pour le double post, déconnectes-toi puis reconnectes toi sur le forum
Hors ligne
#8 Le 18/05/2008, à 18:47
- mr_pouit
Re : Message d'accueil lettre par lettre dans un terminal
ChRIIS > déconnecte et reconnecte toi de ton profil forum, et ça devrait stopper.
bon, grillé :@
Dernière modification par mr_pouit (Le 18/05/2008, à 18:47)
Hors ligne
#9 Le 19/05/2008, à 13:40
- n3o51
Re : Message d'accueil lettre par lettre dans un terminal
Effectivement c'est vraiment étrange qu'il es disparu ......
Vraiment sympa de m'avoir apporté ton aide.....Cela dit je me permet un petit commentaire par rapport a ton script mais aussi surtout pour renseigner les personnes qui souhaiteraient comme moi l'utiliser dans leur fichiers Bashrc ....Il y a un petit soucis c'est que la premiere ligne s'affiche puis on as beaucoup d'espace enfin l'autre ligne s'affiche....
Pour resoudre cela je pense qu'il vaut mieux remplacer le &&clear par un retour a la ligne et un
printf "\r%60s\r"
qui effacera la dit ligne......Voila !!!!
Welcome to the real world
________________________________
Hors ligne
#10 Le 05/12/2008, à 15:37
- ChRiiS
Re : Message d'accueil lettre par lettre dans un terminal
En relisant mes ancien post, je suis retombé sur celui là. C'était marrant ce petit script, allez j'ai 2min refaisons une version plus propre:
#!/bin/bash
function neo
{
espeak -v us -s 140 "$*" &
m=$*
n=${#m}
i=0
echo -ne " \r"
while [ $i -lt $n ];do
sleep 0.05
echo -n "${m:$i:1}"
((i+=1))
done;
echo -ne "\r"
sleep 1
}
neo "Wake up , Neo."
neo "The matrix has you!"
neo "Follow the white rabbit."
neo "Knock knock Neo."
Terriblement inutile et légèrement kéké, mais faisable en 15sec et ne dépendant que d'espeak pour la synthèse vocale. Le bash, c'est bon, mangez-en!
Et puis l'avantage de ces petits scripts, c'est que ça permets à ceux qui ne connaissent pas trop bash de décortiquer de simple bout de code
Hors ligne
#11 Le 05/12/2008, à 21:00
- n3o51
Re : Message d'accueil lettre par lettre dans un terminal
légèrement kéké,
Welcome to the real world
________________________________
Hors ligne