Contenu | Rechercher | Menus

Annonce

Ubuntu 16.04 LTS
Commandez vos DVD et clés USB Ubuntu-fr !

Pour en savoir un peu plus sur l'équipe du forum.

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.

#1 Le 13/02/2018, à 00:25

pseudofab

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 smile

#!/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 lol

Hors ligne

#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)


eval, c'est mal.

Hors ligne

#3 Le 13/02/2018, à 06:59

ar barzh paour

Re : Mon 1er Script ( complétement inutile^^)

lol lol

vraiment beaucoup de trucs et d'astuces dans le script de Watael ....

@pseudofab pour continuer à t'amuser

Watael a écrit :

recom=(......)

va voir
Tableaux
https://abs.traduc.org/abs-fr/ch27.html

Watael a écrit :

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)


Ubuntu 16.04 64 bits (depuis juillet 2016) , 18.04 en essai (décembre 2017)
divers versions (peu utilisées maintenant) Ubuntu et Studio 14.04 LTS 64 bits , MATE 16.04
(01/2017 ) :PC          : Intel(R) Pentium(R) Dual  CPU  E2180  @ 2.00GHz 2Go de RAM 800 MHz
(06/2017) : Portable : Intel(R) Core(TM)2  Duo CPU     T5750  @ 2.00GHz 3Go de RAM DDR2 667 Mhz

Hors ligne

#4 Le 13/02/2018, à 07:31

nam1962

Re : Mon 1er Script ( complétement inutile^^)

Hop ! j'apprends aussi !


Almanet doLys de l'open source : mon tuto pour optimiser / finaliser une install
Xubuntu devel - Manjaro unstable - OpenSUSE tumbleweed (GeckoLinux) -Debian Testing Et vous ?
57 convertis  IRL (n'ont pas eu le choix...).
Un jeune site que j'aime bien, le top du T-shirt homme ...bio et éthique en plus : https://goudronblanc.com

Hors ligne

#5 Le 13/02/2018, à 07:33

michel_04

Re : Mon 1er Script ( complétement inutile^^)

Bonjour,

nam1962 a écrit :

Hop ! j'apprends aussi !

Me too !

A+

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

pseudofab

Re : Mon 1er Script ( complétement inutile^^)

... en voilà des beaux cadeaux smile
Je vais étudier ça ...

Hors ligne

#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) wink


Almanet doLys de l'open source : mon tuto pour optimiser / finaliser une install
Xubuntu devel - Manjaro unstable - OpenSUSE tumbleweed (GeckoLinux) -Debian Testing Et vous ?
57 convertis  IRL (n'ont pas eu le choix...).
Un jeune site que j'aime bien, le top du T-shirt homme ...bio et éthique en plus : https://goudronblanc.com

Hors ligne

#10 Le 13/02/2018, à 20:04

pseudofab

Re : Mon 1er Script ( complétement inutile^^)

@nam1962, ça à l'air vraiment très bien ... et ça doit être bien stimulant . wink
... 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

Hors ligne

#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 !


Almanet doLys de l'open source : mon tuto pour optimiser / finaliser une install
Xubuntu devel - Manjaro unstable - OpenSUSE tumbleweed (GeckoLinux) -Debian Testing Et vous ?
57 convertis  IRL (n'ont pas eu le choix...).
Un jeune site que j'aime bien, le top du T-shirt homme ...bio et éthique en plus : https://goudronblanc.com

Hors ligne

#12 Le 13/02/2018, à 22:58

pseudofab

Re : Mon 1er Script ( complétement inutile^^)

lol
Je me suis inscrit  ,
Yapluka ... wink

Hors ligne

#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

Ubuntu 16.04 64 bits (depuis juillet 2016) , 18.04 en essai (décembre 2017)
divers versions (peu utilisées maintenant) Ubuntu et Studio 14.04 LTS 64 bits , MATE 16.04
(01/2017 ) :PC          : Intel(R) Pentium(R) Dual  CPU  E2180  @ 2.00GHz 2Go de RAM 800 MHz
(06/2017) : Portable : Intel(R) Core(TM)2  Duo CPU     T5750  @ 2.00GHz 3Go de RAM DDR2 667 Mhz

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
big_smile
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

tongue

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)


Ubuntu 16.04 64 bits (depuis juillet 2016) , 18.04 en essai (décembre 2017)
divers versions (peu utilisées maintenant) Ubuntu et Studio 14.04 LTS 64 bits , MATE 16.04
(01/2017 ) :PC          : Intel(R) Pentium(R) Dual  CPU  E2180  @ 2.00GHz 2Go de RAM 800 MHz
(06/2017) : Portable : Intel(R) Core(TM)2  Duo CPU     T5750  @ 2.00GHz 3Go de RAM DDR2 667 Mhz

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


Ubuntu 16.04 64 bits (depuis juillet 2016) , 18.04 en essai (décembre 2017)
divers versions (peu utilisées maintenant) Ubuntu et Studio 14.04 LTS 64 bits , MATE 16.04
(01/2017 ) :PC          : Intel(R) Pentium(R) Dual  CPU  E2180  @ 2.00GHz 2Go de RAM 800 MHz
(06/2017) : Portable : Intel(R) Core(TM)2  Duo CPU     T5750  @ 2.00GHz 3Go de RAM DDR2 667 Mhz

Hors ligne

#19 Le 20/02/2018, à 10:50

pseudofab

Re : Mon 1er Script ( complétement inutile^^)

ar barzh paour a écrit :

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 wink . à bientôt.
Fabien

Hors ligne