• # Non je vois pas

    Posté par  . Évalué à 1.

    Y a rien de plus "standard" pour moi. La syntaxe des redirections n'a pas changé depuis des lustres. Pas de problème non plus avec zsh d'ailleurs.

    Par contre je me suis quand même demandé 30 secondes lequel de "rr" ou du résultat du ls allait s'afficher en premier :x

    • [^] # Re: Non je vois pas

      Posté par  . Évalué à -6. Dernière modification le 12 avril 2016 à 10:48.

      cool merci !

      Par contre je me suis quand même demandé 30 secondes lequel de "rr" ou du résultat du ls allait s'afficher en premier :x

      ah donc ce n'est pas garanti :x Ici, sur mon pc, c'est bien "rr" qui s'affiche en premier.

      Enfin, pour être tout à fait complet, c'était surtout cela que je voulais faire

      sudo sh -c "echo 'rr' 1>&3 && ls -al" 3>&1
      

      Malheureusement pour moi, j'ai pu lire par la suite que sudo ferme toutes les fd supérieures à stderr, sauf si -C est utilisée. Mais -C est par défaut restreint…. bref, je n'ai pas pu faire ce que je voulais et je devrais salir stdout ou stderr.. : ( : ( : ( c'est moche.

      sudo -C 4 sh -c "echo 'rr' 1>&4" 4>1
      sudo: vous n'êtes pas autorisé à utiliser l'option -C
      

      Enfin, peut être que je pourrais échapper le signal via autre chose qu'un flux entre process, genre une socket ou quelque chose, mais va falloir que j'en apprenne plus, et puis je ne peux me permettre plus d'une ligne.

      • [^] # Re: Non je vois pas

        Posté par  . Évalué à 1.

        Je pense que ce que tu cherche cest mkfifo.
        Ex : https://www.linuxjournal.com/article/2156

        • [^] # Re: Non je vois pas

          Posté par  . Évalué à -5.

          je pense que c'est excellent ! En plus le fait que ce soit bloquant m'arrange au plus haut point.

          Il y a besoin d'encore un peu de travail, pour l'instant c'est très manuel,

          mkfifo pipe && sudo sh -c "echo 'rr' 1>pipe && ls -al"

          Suivit d'un cat pipe dans un autre terminal pour débloquer le tout.

          Merci !

          • [^] # Re: Non je vois pas

            Posté par  . Évalué à 2.

            je vais dire une betise mais pourquoi ne pas faire simplement :

            sudo sh -c "echo 'rr' >/tmp/fichierlog 2>&1 && ls -al"
            cat /tmp/fichierlog
            • [^] # Re: Non je vois pas

              Posté par  . Évalué à -5.

              ce n'est pas une bêtise.

              Il faudrait que je teste à intervalle de temps l'existence et le contenu du fichier, hors, c'est justement pour sortir de ce genre de comportement que je me vous pose des questions! Ce serait quand même dommage de perdre des lignes de stdio ?

              Il faut que j'approfondisse, mais je ne m’arrêterais pas à ça.

              En // je commence à réfléchir à utiliser une socket,

              srwxrwxr-x   1 mh-cbon mh-cbon    0 14 avril 22:18 pipe

              C'est overkill, mais bon, si je n'ai pas de meilleures alternatives native, pourquoi pas.

              • [^] # Résultat des courses...

                Posté par  . Évalué à -5.

                … Je n'ai pas utilisé mkfifo, ni de socket, pas plus que fd[4], j'ai balancé le token sur stdout, c'est moche, et après j'ai fais un peu de magie noire avec les streams.

                En tout cas merci encore, j'ai appris des choses intéressantes !

Suivre le flux des commentaires

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