#1 Le 13/02/2018, à 00:25
- Compte supprimé
Mon 1er Script ( complétement inutile^^)
Bonsoir,
Comme je l'ai promis sur un autre Post , voici mon 1er script Bash .
Il ne sert strictement à rien mais je me suis bien amusé à l'écrire .
Il y a quelques jours , je ne savais même pas ce que c'était un script.
C'est grâce au forum , à la documentation et à vos contributions que je peux vous présenter mon 1er script .
Un grand merci
#!/bin/bash
######## mon 1er script version 1.0 ########
clear
echo -n "Bonjour , es tu fumeur.O/N?"
read ouinon
if [ "$ouinon" = "N" ] || [ "$ouinon" = "n" ]; then
echo "C'est bien ça !"
echo "Surtout ne fume jamais ou ne refume jamais."
echo "Sauf si tu veux avoir les dents jaunes et payer beaucoup d'impôt"
elif [ "$ouinon" = "O" ] || [ "$ouinon" = "o" ]; then
echo "Tu peux t'arrêter de fumer comme l'on fait des millions de fumeur avant toi.. "
echo "Presse la touche Entrée pour continuer"
read onsenfout # juste utilisé pour stoper le script
echo "C'est le plus beau cadeau que tu puisses te faire "
echo "Presse la touche Entrée pour continuer"
read onsenfout
echo "Je te conseille la lecture de la méthode simple pour en firnir avec la cigarette d'Allen Carr. Moi ça m'a aidé ..."
echo "Presse la touche entrée pour continuer"
read onsenfout
echo "et si cela ne marche pas tu peux toujours fumer la clope electronique ... Tes poumons te remerciront^^ "
echo "Presse la touche Entrée pour continuer"
read onsenfout
compteur=1
while (($compteur<=13333)) #boucle réaction en chaine
do
echo -n " Et n'oublie pas que fumer est une réaction en chaine !!!"
echo -en "\033[1;31;40m Et n'oublie pas que fumer est une réaction en chaine !!! \033[0m" #écrit en rouge
compteur=$(($compteur+1))
done
echo
fi
Il est sûrement mal écrit mais c'est moi qui l'ai fait
#2 Le 13/02/2018, à 05:34
- Watael
Re : Mon 1er Script ( complétement inutile^^)
#!/bin/bash
recom=(
"Tu peux t'arrêter de fumer comme l'ont fait des millions de fumeurs avant toi.. "
"C'est le plus beau cadeau que tu puisses te faire "
"Je te conseille la lecture de la méthode simple pour en finir avec la cigarette d'Allen Carr. Moi ça m'a aidé ..."
"et si cela ne marche pas, tu peux toujours fumer la clope électronique ... Tes poumons te remercieront ^^ "
)
prnRecom()
{
echo "${recom[$1]}"
echo "Presse la touche Entrée pour continuer"
read
}
clear
echo -n "Bonjour , es tu fumeur ? [O/N] : "
read ouinon
if [[ $ouinon == [Nn] ]]; then
echo "C'est bien ça !
Surtout ne fume jamais ou ne refume jamais.
Sauf si tu veux avoir les dents jaunes et payer beaucoup d'impôt"
else
for ((i=0;i<${#recom[*]};i++))
do
prnRecom $i
done
for ((i=0;i<=100;i++))
do
printf ' %s \e[01;31m%s\e[00m\n' "Et n'oublie pas que fumer est une réaction en chaine !!!" "Et n'oublie pas que fumer est une réaction en chaine !!!"
sleep .5
done
echo
fi
Dernière modification par Watael (Le 13/02/2018, à 05:35)
Connected \o/
Welcome to sHell. · eval is evil.
En ligne
#3 Le 13/02/2018, à 06:59
- ar barzh paour
Re : Mon 1er Script ( complétement inutile^^)
vraiment beaucoup de trucs et d'astuces dans le script de Watael ....
@pseudofab pour continuer à t'amuser
recom=(......)
va voir
Tableaux
https://abs.traduc.org/abs-fr/ch27.html
prnRecom() {.... }
va voir
Fonctions
https://abs.traduc.org/abs-fr/ch24.html
pour le reste découvre
https://abs.traduc.org/abs-fr/
il y a peut-être plus récent
Dernière modification par ar barzh paour (Le 13/02/2018, à 07:02)
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 22.04 Ubuntu 24.04 , W10-PRO( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#4 Le 13/02/2018, à 07:31
- nam1962
Re : Mon 1er Script ( complétement inutile^^)
Hop ! j'apprends aussi !
[ Modéré ]
Hors ligne
#5 Le 13/02/2018, à 07:33
- michel_04
Re : Mon 1er Script ( complétement inutile^^)
Bonjour,
Hop ! j'apprends aussi !
Me too !
A+
:D
De la bonne manière de poser les questions - Trouver de l'aide grâce au Groupe des Parrains Linux - Le Pacte des Gnous
PCs sous Debian Stable & Debian Sid.
Hors ligne
#6 Le 13/02/2018, à 08:00
- pingouinux
Re : Mon 1er Script ( complétement inutile^^)
Bonjour,
Et si on est fainéant, on peut simplifier un peu le script de Watael #2
#!/bin/bash
recom=(
"Tu peux t'arrêter de fumer comme l'ont fait des millions de fumeurs avant toi.. "
"C'est le plus beau cadeau que tu puisses te faire "
"Je te conseille la lecture de la méthode simple pour en finir avec la cigarette d'Allen Carr. Moi ça m'a aidé ..."
"et si cela ne marche pas, tu peux toujours fumer la clope électronique ... Tes poumons te remercieront ^^ "
)
prnRecom()
{
echo "$1"
echo "Presse la touche Entrée pour continuer"
read
}
clear
echo -n "Bonjour , es tu fumeur ? [O/N] : "
read ouinon
if [[ $ouinon == [Nn] ]]; then
echo "C'est bien ça !
Surtout ne fume jamais ou ne refume jamais.
Sauf si tu veux avoir les dents jaunes et payer beaucoup d'impôt"
else
for i in "${recom[@]}"
do
prnRecom "$i"
done
i=0
while ((i++<=100))
do
printf ' %s \e[01;31m%s\e[00m\n' "Et n'oublie pas que fumer est une réaction en chaine !!!" "Et n'oublie pas que fumer est une réaction en chaine !!!"
sleep .5
done
echo
fi
Hors ligne
#7 Le 13/02/2018, à 09:45
- Compte supprimé
Re : Mon 1er Script ( complétement inutile^^)
... en voilà des beaux cadeaux
Je vais étudier ça ...
#8 Le 13/02/2018, à 11:24
- kholo
Re : Mon 1er Script ( complétement inutile^^)
salut,
un peu plus...
#!/bin/bash
# ----------------------------------------------
# http://wiki.bash-hackers.org/
nomlogiciel="${0##*/}"
FONCTION="Démo"
VERSION="alpha"
# NOTES DE VERSIONS
# ----------------------------------------------
#
# ----------------------------------------------
# commenter ou non un de ces lignes pour retrouver le script dans nautilus
# nautilus "$(realpath "${0%%/*}")" ; exit 0
# nautilus "$PWD" ; exit 0
echo "lancement $nomlogiciel..."
echo -e "dans le script, voici la ligne $LINENO"
# set -o xtrace
# couleurs
# https://misc.flogisoft.com/bash/tip_colors_and_formatting
fdNoir='\033[40m'
fdRouge='\033[41m'
fdVert='\033[42m'
fdJaune='\033[43m'
fdBleu='\033[44m'
fdRose='\033[45m'
fdCyan='\033[46m'
fdGris='\033[47m'
# fdDefaut='\033[49m'
enNoir='\033[30m'
enRouge='\033[31m'
enVert='\033[32m'
enJaune='\033[33m'
enBleu='\033[34m'
enRose='\033[35m'
enCyan='\033[36m'
enGris='\033[37m'
# enDefaut='\033[39m'
enGras='\033[1m'
enSouligner='\033[4m'
enClignotant='\033[5m'
enSurligner='\033[7m'
encache='\033[8m'
enDefaut='\033[0m'
echo -e "${enRouge}début de chargement des variables, la ligne $LINENO ... ${enDefaut}"
recom=(
"Tu peux t'arrêter de fumer comme l'ont fait des millions de fumeurs avant toi.. "
"C'est le plus beau cadeau que tu puisses te faire "
"Je te conseille la lecture de la méthode simple pour en finir avec la cigarette d'Allen Carr. Moi ça m'a aidé ..."
"et si cela ne marche pas, tu peux toujours fumer la clope électronique ... Tes poumons te remercieront ^^ "
)
prnRecom() {
echo "$1"
sleep 1.8
echo -e "Presse une touche pour continuer\n"
read -n 1
}
echo -e "${enRouge}fin de chargement des variables, la ligne $LINENO ... ${enDefaut}"
i=10
while ((i-->0))
do
echo -en "\r${enRouge}${enGras}le script va commencer dans ${enJaune}$i${enRouge} secondes${enDefaut}"
sleep 1
done
reset
# clear
echo -n "Bonjour, es tu fumeur ? [O/N] : "
read -n 1 ouinon
echo
if [[ $ouinon == [Nn] ]]; then
echo -e "C'est bien ça !
\rSurtout ne fume jamais ou ne refume jamais.
\rSauf si tu veux avoir les dents jaunes et payer beaucoup d'impôts"
else
for i in "${recom[@]}"
do
prnRecom "$i"
done
i=0
while ((i++<=10))
do
printf ' %s \e[01;31m%s\e[00m\n' "Et n'oublie pas que fumer est une réaction en chaine !!!" "Et n'oublie pas que fumer est une réaction en chaine !!!"
sleep .3
done
echo
clear
j=""
while ((i++<=20))
do
chaineReact() { echo "Et n'oublie pas que fumer est une réaction en chaine !!!" ; }
[[ $j = "true" ]] && {
j=false
echo -ne "\r ${enRouge}$(chaineReact)"
} || { j=true ; echo -ne "\r ${enDefaut}$(chaineReact)" ; }
sleep .3
done
fi
exit 0
Dernière modification par kholo (Le 14/02/2018, à 10:48)
Hors ligne
#9 Le 13/02/2018, à 18:30
- nam1962
Re : Mon 1er Script ( complétement inutile^^)
@pseudofab, grâce aux p'tits gars du forum Manjaro je peux t'indiquer un truc qui peut te plaire : https://www.fun-mooc.fr/courses/course- … on01/about c'est un MOOC sur le shell bash (et à la fin.. on danse scripte)
[ Modéré ]
Hors ligne
#10 Le 13/02/2018, à 20:04
- Compte supprimé
Re : Mon 1er Script ( complétement inutile^^)
@nam1962, ça à l'air vraiment très bien ... et ça doit être bien stimulant .
... cependant je ne suis pas sûr , au vu de ma jeunesse (niveau/connaissance générale) de pouvoir profiter pleinement de cet enseignement.
Je vais quand même regarder ça de plus près car ça m'intéresse vraiment.
Merci à toi
#11 Le 13/02/2018, à 20:47
- nam1962
Re : Mon 1er Script ( complétement inutile^^)
Fais le : après c'est toi qui nous donnera des cours ! (ça a l'air très abordable techniquement : tu es déjà au dessus de la base !
[ Modéré ]
Hors ligne
#12 Le 13/02/2018, à 22:58
- Compte supprimé
Re : Mon 1er Script ( complétement inutile^^)
lol
Je me suis inscrit ,
Yapluka ...
#13 Le 14/02/2018, à 07:09
- ar barzh paour
Re : Mon 1er Script ( complétement inutile^^)
@kholo
nautilus "$(readlink "${0%%/*}")"
me renvoie
(nautilus:5126): GLib-GIO-CRITICAL **: g_dbus_interface_skeleton_unexport: assertion 'interface_->priv->connections != NULL' failed
(nautilus:5126): GLib-GIO-CRITICAL **: g_dbus_interface_skeleton_unexport: assertion 'interface_->priv->connections != NULL' failed
(nautilus:5126): Gtk-CRITICAL **: gtk_icon_theme_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
(nautilus:5126): GLib-GObject-WARNING **: invalid (NULL) pointer instance
(nautilus:5126): GLib-GObject-CRITICAL **: g_signal_connect_object: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 22.04 Ubuntu 24.04 , W10-PRO( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#14 Le 14/02/2018, à 10:36
- kholo
Re : Mon 1er Script ( complétement inutile^^)
@ar barzh paour tu es où quand tu as ça ?
j'ai un peu la même dans un tunnel ssh -X
je me sert plutôt de :
# nautilus "$PWD" ; exit 0
edit : rectifié
re edit :
# nautilus "$(realpath "${0%%/*}")" ; exit 0
j'ai tapé trop vite la première fois !
Dernière modification par kholo (Le 14/02/2018, à 10:46)
Hors ligne
#15 Le 14/02/2018, à 10:43
- kholo
Re : Mon 1er Script ( complétement inutile^^)
une bonne astuce du mooc :
man apropos
Hors ligne
#16 Le 18/02/2018, à 18:20
- ar barzh paour
Re : Mon 1er Script ( complétement inutile^^)
@kholo
tu ne mélanges pas %% et ## ?
#!/bin/bash
echo "sans rien :"${0}
echo "avec ##*/ :"${0##*/}
echo "avec %%/* :"${0%%/*}
sans rien :/media/SH/exo/commandes intérressantes
avec ##*/ :commandes intérressantes
avec %%/* :
Dernière modification par ar barzh paour (Le 18/02/2018, à 18:21)
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 22.04 Ubuntu 24.04 , W10-PRO( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#17 Le 19/02/2018, à 09:34
- kholo
Re : Mon 1er Script ( complétement inutile^^)
j'ai un montage dans /mnt/Data
je crée un dossier monDossier
mkdir /mnt/Data/monDossier
j'y met un script
cat /mnt/Data/monDossier/unScript.sh
#!/bin/bash
echo "${0}"
echo "${0%%/*}"
realpath "${0%%/*}"
exit 0
et je fais un lien dans mon dossier personnel
ln -s "/mnt/Data/monDossier" "$HOME/monDossier"
je vais dans le dossier par le lien dans le dossier personnel
et je lance le script
cd $HOME/monDossier
./unScript.sh
me renvoie :
./unScript.sh
.
/mnt/Data/monDossier
si j'ajoute
nautilus "$(realpath "${0%%/*}")"
j'ouvre bien "/mnt/Data/monDossier"
Hors ligne
#18 Le 19/02/2018, à 15:32
- ar barzh paour
Re : Mon 1er Script ( complétement inutile^^)
effectivement un lien modifie l'appel !!! mais sans lien ça ne doit pas marcher ... enfin je n'ai pas trop creusé !!!
merci pour la découverte de la commande realpath ....
et bonne découverte à pseudofab puisque c'est son post
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 22.04 Ubuntu 24.04 , W10-PRO( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#19 Le 20/02/2018, à 10:50
- Compte supprimé
Re : Mon 1er Script ( complétement inutile^^)
et bonne découverte à pseudofab
Bonjour,
Pour ce qui est de la découverte , je suis servi puisque je suis le mooc... Je reviendrai sur le forum enrichi . à bientôt.
Fabien