# récupérer la ligne de commande avant un pipe

**URL:** <https://www.debian-fr.org/t/recuperer-la-ligne-de-commande-avant-un-pipe/19603>\
**Category:** Programmation\
**Created:** [Février 20, 2016, 7:24 UTC](https://www.debian-fr.org/t/recuperer-la-ligne-de-commande-avant-un-pipe/19603 "2016-02-20T19:24:53Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![jamin](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/j/eb8c5e/32.png) [@jamin](https://www.debian-fr.org/u/jamin)\
**Post date:** [Février 20, 2016, 7:24 UTC](https://www.debian-fr.org/t/recuperer-la-ligne-de-commande-avant-un-pipe/19603/1 "2016-02-20T19:24:53Z")

</div>

Bonjour,

Dans ‘monprogramme’, je souhaite récupérer la ‘ligne de commande’ précédent le pipe, en plus de la sortie standard :

```auto

```

Je ne sais pas si c’est possible.  
Si oui, quelle serait la solution ?

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 20, 2016, 7:24 UTC](https://www.debian-fr.org/t/recuperer-la-ligne-de-commande-avant-un-pipe/19603/2 "2016-02-20T19:24:59Z")

</div>

Peut être avec la commande `tee`  
Je suis pas chez moi je peux pas faire plus de tests avant demain.

---

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Février 20, 2016, 7:25 UTC](https://www.debian-fr.org/t/recuperer-la-ligne-de-commande-avant-un-pipe/19603/3 "2016-02-20T19:25:00Z")

</div>

Pas sûr que ça soit faisable, au moment où le deuxième processus commence, le premier peut être terminé et seul le flux de sortie est disponible. Dans ce cas, l’origine du flux n’est pas possible a déterminer. À mon avis, il te faut faire un wrapper genre  
execute:

`#!/bin/sh
echo $*
$*
`

et dans ce cas  
execute commande

t’exécute la commande après l’avoir affichée. Attention aux problèmes des arguments avec des "…

---

<div class="post-metadata">

**Author:** ![jamin](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/j/eb8c5e/32.png) [@jamin](https://www.debian-fr.org/u/jamin)\
**Post date:** [Février 20, 2016, 7:25 UTC](https://www.debian-fr.org/t/recuperer-la-ligne-de-commande-avant-un-pipe/19603/4 "2016-02-20T19:25:01Z")

</div>

> > De mon côté, ça ne donne rien avec ‘tee’.  
> > Par contre, avec ‘history’, il y a peut être un truc à faire !

`$ ls | monprogramme.bin
$ history
531 ls | monprogramme.bin
532 history`

A suivre …

> > Pour faire un wrapper, ça ne va pas non plus : je souhaite récupérer la ligne de commande,quelle qu’elle soit.

---

<div class="post-metadata">

**Author:** ![molux](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/898d66/32.png) [@molux](https://www.debian-fr.org/u/molux)\
**Post date:** [Février 20, 2016, 7:25 UTC](https://www.debian-fr.org/t/recuperer-la-ligne-de-commande-avant-un-pipe/19603/5 "2016-02-20T19:25:07Z")

</div>

Salut,

Et du coté des “tubes nommés” Named Pipe (c’est un vieux souvenir de fac).

---

<div class="post-metadata">

**Author:** ![Yann62](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/y/df705f/32.png) [@Yann62](https://www.debian-fr.org/u/Yann62)\
**Post date:** [Février 20, 2016, 7:25 UTC](https://www.debian-fr.org/t/recuperer-la-ligne-de-commande-avant-un-pipe/19603/6 "2016-02-20T19:25:55Z")

</div>

Bonjour,  
Une des solutions possibles:

$ echo -e “\n” ""ls -l “” | tee -a res.txt | xargs /bin/bash -c \>\> res.txt  
$ echo -e “\n” ""find “” | tee -a res.txt | xargs /bin/bash -c \>\> res.txt  
$ cat res.txt

"ls -l"  
total 8  
drwxr-xr-x 2 user1 user1 4096 2009-04-22 19:48 d1  
-rw-r–r-- 1 user1 user1 0 2009-04-20 22:51 f1  
-rw-r–r-- 1 user1 user1 0 2009-04-20 22:51 f2  
-rw-r–r-- 1 user1 user1 10 2009-04-22 19:48 res.txt

“find”  
.  
./f1  
./res.txt  
./f2  
./d1  
./d1/f1

Salutations.

---

<div class="post-metadata">

**Author:** ![ed](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ed/32/5886_2.png) [@ed](https://www.debian-fr.org/u/ed)\
**Post date:** [Février 20, 2016, 7:27 UTC](https://www.debian-fr.org/t/recuperer-la-ligne-de-commande-avant-un-pipe/19603/7 "2016-02-20T19:27:20Z")

</div>

```auto
f() {
  cmd=$@
  echo "Commande: $cmd" > log
  $cmd >> log 2>&1
  return $?
}

f commande super pratique

```
