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

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

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)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU     T6570  @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( 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,

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

Compte supprimé

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

... en voilà des beaux cadeaux smile
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) wink


[ 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 . 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

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

#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 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU     T6570  @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( 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
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)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU     T6570  @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( 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 22.04, 22.04, 23.04
Portable1 : Intel(R) Core(TM)2 Duo CPU     T6570  @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 23.04 ( 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^^)

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