Aller au contenu principal
Bienvenue sur Forum Puppy Linux - Toutou Linux - Astuces - Aides !
Lorsque vous n'êtes pas connectés vous pouvez visiter la totalité du forum mais avec certaines restrictions : cf le règlement pour les visiteurs non connectés. Vous êtes chaleureusement conviés à vous inscrire afin de bénéficier de toutes les fonctionnalités du forum et de participer aux échanges.
Sujet: Étude sur des données en fin de script. (Lu 2398 fois) sujet précédent - sujet suivant
0 Membres et 1 Invitédans ce sujet

Étude sur des données en fin de script.

Bonjour à toutes et à tous.

J'ai rassemblé dans un script un peu bébête des renseignements que j'avais grapillés ici et là dans de grands forums Unix, Linux et ailleurs, pour savoir si cela se faisait. Eh bien oui ! cela se peut, on peut mettre des données en fin de script, pourvu que la section données et le script même soient séparés par la commande exit.

Ce n'est pas de la plus grande utilité, mais quand même. Noter l'usage des utilitaires « à reculons » : la boucle « until » et l'utilitaire « tail ». À la rigueur, « tac » pourrait être utilisé au lieu de « cat », mais il faudra bien sûr écrire la liste de données de bas en haut (première ligne à la fin) et trouver le moyen de limiter la lecture que tac fait à X lignes. Ce script-exemple contient d'autres observations à lire, s.v.p.

Donc voici, sans prétention, mais dans l'espoir que ce sera utile à quelqu'un !

Bonne journée !

Christian
#!/bin/bash
# /opt/local/bin/liste-incluse.sh ## OU ## ~/my-applications/bin/liste-incluse.sh
#
# Objectif : Étudier sur la possibilité d'inclure des données à la fin du
# .---------- script même au lieu de les stocker dans un fichier externe.
####
# ©  Christian L'Écuyer , Gatineau (Qc), Canada,musher0, 2018/04/30, midi. GPL3
# (alias musher0 [forum PuppyLinux]) # Rév. : aucune.
#  Q. v. official EN text at: https://opensource.org/licenses/GPL-3.0.
# ~~~~~~~~~~~~~~
#  Ce programme est libre : vous pouvez le redistribuer ou le modifier
#  selon les termes de la Licence Publique Générale GNU publiée par la Free
#  Sorftware Foundation (v. 3 ou toute version ultérieure choisie par vous).
#        Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS
#  GARANTIE aucune, ni explicite ni implicite, y compris de commercialisation
#  ou d'adaptation à un but spécifique. Pour plus de détails, s.v.p. vous reporter
#  au texte officiel à https://opensource.org/licenses/GPL-3.0, à sa traduction à
#  http://www.linux-france.org/article/these/gpl.html et à l'explication à
#  https://fr.wikipedia.org/wiki/Licence_publique_générale_GNU.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
j=0;k=4

clear # Titre
echo -e "Petits animaux domestiques\n`tail -n 5 liste-incluse.sh | head -1`\n"

# Données
cris=( "jappe = barks" "miaule = meows" "grogne = grunts" "chante = sings" )
# Liste introduite exprès pour pouvoir étudier l'intégration d'autres données.

until [ "$k" = "0" ];do
    tail -n $k liste-incluse.sh | head -1 # Ainsi, on émet une seule ligne.
    echo -e "${cris[$j]}\n"
    # On ajoute de l'info supplémentaire correspondante tirée de la liste « cris ».
    j="`expr $j + 1 `"
    k="`echo $(($k - 1))`" # Plutôt cette forme de calcul, parce que
    # « expr » émet un message d'erreur quand il arrive à « zéro ».
done
exit # Tout ce qui vient après « exit » est ignoré par bash.
babiole fofolle # Cette étourderie n'est pas captée par le script.
On peut placer des explications, par ex., à cet endroit. Ou y écrire un roman !!! :)

À noter qu'on n'a pas besoin de modifier la permission (« exécutabilité »)
du script pour accéder aux données.

À noter aussi que dans le cas présent, c'est l'utilitaire « tail » qui les extrait.

Les données comme telles suivent :

FR  <-->  EN
chien = dog
chat = cat
cobaye = hamster
perruche = budgie

Résultat :
Citer
Petits animaux domestiques
FR  <-->  EN

chien = dog
jappe = barks

chat = cat
miaule = meows

cobaye = hamster
grogne = grunts

perruche = budgie
chante = sings
 
 
musher0
~~~~~~~~~
C'est parce qu'on n'ose pas que c'est difficile.
(D'après Sénèque)

Re : Étude sur des données en fin de script.

Répondre #1
Ok pour l'exercice, mais je ne vois pas bien les possibilités d'utilisation  :-[
Philippe

Re : Étude sur des données en fin de script.

Répondre #2
Oui, je suis d'accord que c'est assez limité pour les données.  Selon leur nature et combien on en a, comme de raison. Au lieu d'avoir une bande de petits fichiers d'appoint, par exemple.

Néanmoins, quand on développe un script, si on sait qu'on peut griffonner n'importe quoi après la commande "exit" sans que cela affecte l'exécution, cet espace peut être commode pour y flanquer des notes de travail, des aide-mémoire, etc.

Ou même un petit tutoriel pour l'usager quand on a fini, et que le script tourne comme on veut. Au lieu de mettre les explications, etc., avant le script comme tel -- ce qui m'agace, personnellement. J'aime entrer rapidement « dans le vif du sujet », comme on dit.

À+
musher0
~~~~~~~~~
C'est parce qu'on n'ose pas que c'est difficile.
(D'après Sénèque)

 
Simple Audio Video Embedder