Forum Programmation.shell depends.sh

Posté par .
Étiquettes : aucune
-1
20
nov.
2011

bonjour à tous
le script éxécutable depends.sh me permet de connaitre les paquets installés avec leurs numéros de version comme dépendances pour un logiciel,ceci pour ajouter au document control dans le.deb du logiciel
et par la même d'ajouter les paquets -dev pour le document .dsc de sa source compilable
il y a des redondances en sortie,je cherche la ligne a ajouter au script pour éviter cela

#!/bin/bash
echo ""
tour=0
objdump -p 1ドル | awk '/NEEDED/ { print 2ドル }'| while read so
do
dpkg -S $so | awk -F: '{ print 1ドル }' | while read soo
 do
dpkg -l $soo | grep ^ii | awk '{print 2,ドル3ドル}'| while read sooo
 do
 if [ $tour = 0 ]
 then echo $sooo
 let "tour += 1"
 fi
 done
 done
done 

  • # Idée rapide

    Posté par (site web personnel) . Évalué à 2.

    Solution simple

    ./depends.sh /bin/bash | sort -u

    • [^] # Re: Idée rapide

      Posté par (site web personnel) . Évalué à 4. Dernière modification le 20 novembre 2011 à 17:16.

      Sans boucle et en monoligne... Je suis juste passé par ldd. Pourquoi utilises tu objdump ?

       ldd /bin/bash | awk '{print 1ドル}' | xargs -r dpkg -S 2>/dev/null | cut -f 1 -d ':' | sort -u | xargs -r dpkg -l | grep ^ii | awk '{print 2,ドル3ドル}'
      
      
      • [^] # Re: Idée rapide

        Posté par . Évalué à -3.

        merci pour la commande sytoka
        elle fonctionne plutôt bien

        • [^] # Re: Idée rapide

          Posté par . Évalué à -4. Dernière modification le 20 novembre 2011 à 17:16.

          celle ci me donne en plus les librairies manquantes:

          ldd /usr/bin/monprogramme | awk '{print 1ドル}' | xargs -r dpkg -S | cut -f 1 -d ':' | sort -u | xargs -r dpkg -l | grep ^ii | awk '{print 2,ドル3ドル}'
          
          

          félicitation

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.