Installations en serie de programmes

ringo73 Messages postés 29 Date d'inscription mercredi 7 novembre 2012 Statut Membre Dernière intervention 20 août 2017 - 19 sept. 2013 à 16:04
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 - 26 sept. 2013 à 19:28
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/100126-installations-en-serie-de-programmes

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
Modifié par cptpingu le 26/09/2013 à 19:30
Avant d'apprendre le C, apprend le script shell (avec bash par exemple). Une bonne connaissance de ce langage est indispensable sous Linux. Ca t'aidera énormément.

Il faut supprimer les dossiers obj et bin car ils contiennent des fichiers temporaires (inutiles) bien plus volumineux que les sources de ton projet !
De plus, on ne distribue jamais le binaire compilé, on laisse l'utilisateur le compiler.
ringo73 Messages postés 29 Date d'inscription mercredi 7 novembre 2012 Statut Membre Dernière intervention 20 août 2017
26 sept. 2013 à 16:33
En fait, ça fait depuis peu (en gros 6 mois) que j'ai commence a m'interresser à linux et notamment aux scripts shell. Et comme je ne savais pas comment gerer les fichiers (recuperer des donnees) en shell, j'ai fait un mic-mac de code C et de shell.
Malgre tout, ça m'a permis de voir les fonction fork() et execv(), ça peut etre utile.

NB: Pourquoi est-ce qu'il faut supprimer les dossiers obj & bin?
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
20 sept. 2013 à 12:55
Bonjour.

J'ai du mal à comprendre l'intérêt de cette source. Pourquoi faire du C, pour une tâche qui est particulièrement adaptée à du script shell ?
Tout faire en script shell t'aurait pris très peu de lignes. Voici la même chose que ce que tu présentes, mais en quelques lignes:

#!/bin/bash

main_prog()
{
  local file="$1"

  for prog in $(cat "$file"); do
      echo "Voulez-vous telecharger et installer $prog ? [Y/n]"
      read question
      if [ "$question" = "Y" -o "$question" = "y" -o "$question" = "" ]; then
	  echo "sudo apt-get install $prog"
	  sudo apt-get install "$prog"
      fi
  done
}

main_prog "$@"


Sinon, en remarque classique: Pense à vider les dossier "obj" et le dossier "bin" avant de soumettre ta source.