Bon, je vais faire mon chieur, mais tu devrais changer quelques trucs niveau habitudes (pour Bash) :
1) Les backquotes sont un reliquat d'un temps révolu. Remplace-les par $(…)
2) Même remarque pour la commande seq. Tu peux la remplacer avantageusement par {1..3} par exemple
3) Quotes! Si tu veux t'éviter des bogues bien piquantes (bash séparer les noms constitués d'espaces entre autres), je te conseille vivement de changer tes appels de variables : "$VAR".
4) il n'y a pas de première ligne indiquant l'interpréteur ! #!/bin/bash
Ça donnerait ça (pas testé, mais ça devrait aller tout seul ) :
#!/bin/bash# recupere la liste des paquets à desinstaller à partir des parametres.# VERSION sera 3.x.yVERSION="1ドル"# DEBUT et FIN seront les variantes (le z dans 3.x.y-z de la version du paquet)DEBUT="2ドル"FIN="3ドル"# on fait une boucle sur la sequence comprise entre $DEBUT et $FIN avec l'outil seq# pour chaque valeur de la boucle, on fait cherche les paquets correspondants avec dpkg -l | grep...# on filtre cette liste pour ne recuperer que la 2e colonne de la sortie de dpkg avec awkLISTE=$(for i in {"$DEBUT".."$FIN"}; do dpkg -l | grep "$VERSION-$i" | awk '{print 2ドル}'; done)# on demande à aptitude de purger tous les paquets que l'on a listés juste avant.
sudo aptitude purge "$LISTE"
# À propos de ta syntaxe
Posté par Jiehong (site web personnel) . En réponse au message comment je vide proprement mon /boot des vieux noyaux installés par ma distrib. Évalué à 3.
Bon, je vais faire mon chieur, mais tu devrais changer quelques trucs niveau habitudes (pour Bash) :
1) Les backquotes sont un reliquat d'un temps révolu. Remplace-les par $(…)
2) Même remarque pour la commande
seq. Tu peux la remplacer avantageusement par {1..3} par exemple3) Quotes! Si tu veux t'éviter des bogues bien piquantes (bash séparer les noms constitués d'espaces entre autres), je te conseille vivement de changer tes appels de variables : "$VAR".
4) il n'y a pas de première ligne indiquant l'interpréteur ! #!/bin/bash
Ça donnerait ça (pas testé, mais ça devrait aller tout seul ) :