Page 1 sur 2

Besoin d'aide sur l'élaboration d'un script Bash

Posté : ven. 29 déc. 2017 16:12
par Maks
Bonjour à toutes et tous,

J'apprends actuellement les scripts Bash, je suis encore "débutant", je m'amuse avec les variables d'environnement, les conditions if, then, else et la fonction echo.

Je suis en train d'élaborer un script permettant de lancer automatiquement la commande apt update puis à la suite la commande apt upgrade sans que j'intervienne. Rien de compliqué jusqu'ici, ça marche.

Code : Tout sélectionner

#!bin/bash

		apt update
		apt upgrade
Je voudrais le complexifier un peu en récupérant les informations sur le nombre de mises à jour et en affichant un message avec echo.
s'il y a 0 mise à jours echo affiche "votre système est à jour"
s'il y a de 1 à plusieurs mises à jour disponibles la commande upgrade s'effectue puis echo affiche "votre système est maintenant à jour"

Je ne trouve pas comment récupérer l'information sur le nombre de mises à jour ? avez vous un idée ?

Merci et bonne fêtes de fin d'année à tout le monde

Re: Besoins d'aide sur l'élaoration d'un scrip Bash

Posté : ven. 29 déc. 2017 16:16
par tyrry
Slt ,
essai : sudo apt list --upgradable
@+

Re: Besoins d'aide sur l'élaoration d'un scrip Bash

Posté : dim. 31 déc. 2017 17:43
par tioker
Et tu peux détourner la sortie de la commande (sudo apt list --upgradable >> upgradable.txt).
Après tu lis le fichier et tu comptes ce que tu veux ... si ce qui est dedans te convient.
Cdlt

Re: Besoins d'aide sur l'élaoration d'un scrip Bash

Posté : lun. 1 janv. 2018 18:00
par Maks
Bonjour,

Tout d'abord meilleures vœux pour cette année 2018 à toutes et tous !

Merci tyrry et tioker désolé de répondre un peu tardivement, mais je n'ai plus internet chez moi depuis 4 jours, problème avec la fibre dans l'immeuble suite aux bidouillages d'un technicien fibre chez un voisin bref je suis en partage connexion 4G.

Concernant mon script ça fonctionne visiblement !

je récupère les mise à jours dispo puis compte le nombre de lignes avec le commande sudo apt list --upgradable | wc -l (à l'interieur d'une variable pour en récupérer le résultat)

s'il y au minimum 1 mise à jour disponible (en plus de la ligne "En train de lister... Fait") il lance un apt upgrade et termine avec un echo"votre système est maintenant à jour"

sinon il ne lance pas la commande apt upgrade, mais simplement un echo"votre système est déjà à jour"

par contre, j'ai un message warning avant l’exécution du script, je pense à cause du symbole pipe :
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Est-ce-que c'est important ou pas ?

Merci pour votre aide !

Re: Besoins d'aide sur l'élaoration d'un scrip Bash

Posté : jeu. 4 janv. 2018 21:36
par Maks
Bon j'ai cherché et le message WARNING est bien lié à l'utilisation du pipe, car il n'est pas recommandé d'utiliser un pipe à l'intérieur d'un script donc c'est une simple mise en garde si j'ai bien compris. Bref mon script fonctionne, Merci à vous tous !

Re: Besoins d'aide sur l'élaoration d'un scrip Bash

Posté : jeu. 4 janv. 2018 21:38
par débitant
Si le sujet est résolu merci d'éditer le premier message du sujet, puis :
  1. mettre un petit Image, comme suit: Image
  2. mettre un [résolu] (entre crochets et à gauche) dans le titre de ce premier message
voir tuto ici

Re: Besoins d'aide sur l'élaoration d'un scrip Bash

Posté : jeu. 4 janv. 2018 21:39
par Maks
voilà c'est fait

Re: Besoins d'aide sur l'élaoration d'un scrip Bash

Posté : jeu. 4 janv. 2018 21:42
par débitant
euh! regardes bien ce qui est noté

Re: [résolu] Besoins d'aide sur l'élaoration d'un scrip Bash

Posté : jeu. 4 janv. 2018 21:59
par Maks
Ha ben si je lis en diagonale ! voilà normalement c'est bon.

Re: [résolu] Besoins d'aide sur l'élaoration d'un scrip Bash

Posté : jeu. 4 janv. 2018 22:00
par débitant