Savoir si >> fonctionne

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour, bonsoir,

Tout est dans le titre, j'aimerais savoir si le >> se fait bien lors de l'envoie de caractères dans un fichier texte.

Quelque chose comme:

if [ echo "plop" >> "chemin_de_mon_texte" ]; then [...] ; fi


Merci :-)

--
♪♪ Slowin' Cleaner development, Windows Optimizer

4 réponses

  1. laoshu Messages postés 1251 Statut Membre 351
     
    Bonjour,

    Si c'est juste pour savoir si tout c'est bien passé, tu peux essayer ainsi, je pense :

    [[ $(echo "plop" >> fichier_texte) ]] && echo "Tout va bien"

    ou mieux :
    [[ $(echo "plop" >> fichier_texte) ]] || echo "Il y a eu un problème"

    Mais vérifie, je me trompe peut etre,
    0
  2. Utilisateur anonyme
     
    Coucou,

    C'est ce que j'ai fait du coup mais... c'est pas génial.

    Le truc c'est que le shell ne renvoie pas de valeur... si ?

    Une question, pourquoi tu mets des doubles crochets "[[...]]" ?

    Merci ;-)
    0
  3. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    $ echo "blabla" >> brol && echo "OK" || echo "Pas OK"
    OK
    
    $ chmod u-w brol    # Retrait des droits d'écriture
    
    $ echo "blabla" >> brol && echo "OK" || echo "Pas OK"
    bash: brol: Permission non accordée
    Pas OK
    
    $

    0
  4. Utilisateur anonyme
     
    Coucou Zipe,

    Pas d'autres manières ? (hormis aller lire le fichier à la recherche de la chaîne)

    ♪♪ Slowin' Cleaner development, Windows Optimizer
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Ben de toute façon à part comme dans mon exemple si le fichier n'a pas les droits d'écriture, il n'y a pas trop de raison que ça échoue... même si le fichier n'existe pas, la redirection se fait quand même puisque le fichier est créé automatiquement.
      0
    2. Utilisateur anonyme
       
      Ok mais je ne suis pas fan du "&&", comment ça marche ce truc ?

      Parce-qu'en programmation tu peux utiliser le return(); pour voir si ce que tu as fait a réussi ou non, pas en Shell :-/
      0
    3. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      En shell c'est la variable "$?" qui contient le code retour.
      0 = true
      1 = false

      $ echo "blabla" >> brol ; echo $?
      bash: brol: Permission non accordée
      1
      
      $ chmod u+w brol 
      
      $ echo "blabla" >> brol ; echo $?
      0
      
      $
      0
    4. Utilisateur anonyme
       
      Super merci Zipe !
      0