soit la commande :
$ mon_bin mon_fichier | /path/to/mon_script
je voudrais pouvoir récupérer dans "mon_script" la commande précédente,
càd ce qu'il y a avant le pipe "|", ici "mon_bin mon_fichier".
Avec tous les arguments.
est-ce possible ?
si oui, comment ?
soit la commande :
$ mon_bin mon_fichier | /path/to/mon_script
je voudrais pouvoir récupérer dans "mon_script" la commande précédente,
càd ce qu'il y a avant le pipe "|", ici "mon_bin mon_fichier".
Avec tous les arguments.
est-ce possible ?
si oui, comment ?
soit la commande :
$ mon_bin mon_fichier | /path/to/mon_script
je voudrais pouvoir récupérer dans "mon_script" la commande précédente,
càd ce qu'il y a avant le pipe "|", ici "mon_bin mon_fichier".
Avec tous les arguments.
est-ce possible ?
si oui, comment ?
Dans un enchaînement A|B tu ne peux donc pas retrouver de manière
certaine le pid de la commande A à partir de la commande B. Il y a une
race condition qui peut faire que les deux PID n'ont pas un point
d'écart, mais plus, voire le cas où tu recycles un PID totalement
différent parce que tu as atteint la valeur max.
Dans un enchaînement A|B tu ne peux donc pas retrouver de manière
certaine le pid de la commande A à partir de la commande B. Il y a une
race condition qui peut faire que les deux PID n'ont pas un point
d'écart, mais plus, voire le cas où tu recycles un PID totalement
différent parce que tu as atteint la valeur max.
Dans un enchaînement A|B tu ne peux donc pas retrouver de manière
certaine le pid de la commande A à partir de la commande B. Il y a une
race condition qui peut faire que les deux PID n'ont pas un point
d'écart, mais plus, voire le cas où tu recycles un PID totalement
différent parce que tu as atteint la valeur max.
soit la commande :
$ mon_bin mon_fichier | /path/to/mon_script
je voudrais pouvoir récupérer dans "mon_script" la commande précédente,
càd ce qu'il y a avant le pipe "|", ici "mon_bin mon_fichier".
Avec tous les arguments.
est-ce possible ?
soit la commande :
$ mon_bin mon_fichier | /path/to/mon_script
je voudrais pouvoir récupérer dans "mon_script" la commande précédente,
càd ce qu'il y a avant le pipe "|", ici "mon_bin mon_fichier".
Avec tous les arguments.
est-ce possible ?
soit la commande :
$ mon_bin mon_fichier | /path/to/mon_script
je voudrais pouvoir récupérer dans "mon_script" la commande précédente,
càd ce qu'il y a avant le pipe "|", ici "mon_bin mon_fichier".
Avec tous les arguments.
est-ce possible ?
Réponse longue : expliquez-nous pouquoi vous avez besoin de cela et on
vous expliquera comment vous en passer !
Réponse longue : expliquez-nous pouquoi vous avez besoin de cela et on
vous expliquera comment vous en passer !
Réponse longue : expliquez-nous pouquoi vous avez besoin de cela et on
vous expliquera comment vous en passer !
$ fdate "sudo gem1.9 install truc" (donc au term je fais flèche vert le
haut et je met la dernière commande entre "" précédée de fdate puis je
copie le résultat de la commande dans le fichier créé.
Naïvement je pensais qu'une commande simple permettait d'avoir la
commande précédente dans un script (mon fdate), une sorte d'history
(comme dans le fichier ~/.zsh/zsh_history).
Je voulais m'éviter des copiés / collés.
$ fdate "sudo gem1.9 install truc" (donc au term je fais flèche vert le
haut et je met la dernière commande entre "" précédée de fdate puis je
copie le résultat de la commande dans le fichier créé.
Naïvement je pensais qu'une commande simple permettait d'avoir la
commande précédente dans un script (mon fdate), une sorte d'history
(comme dans le fichier ~/.zsh/zsh_history).
Je voulais m'éviter des copiés / collés.
$ fdate "sudo gem1.9 install truc" (donc au term je fais flèche vert le
haut et je met la dernière commande entre "" précédée de fdate puis je
copie le résultat de la commande dans le fichier créé.
Naïvement je pensais qu'une commande simple permettait d'avoir la
commande précédente dans un script (mon fdate), une sorte d'history
(comme dans le fichier ~/.zsh/zsh_history).
Je voulais m'éviter des copiés / collés.
Le 05/07/12 14:42, Paul Gaborit a écrit :Réponse longue : expliquez-nous pouquoi vous avez besoin de cela et on
vous expliquera comment vous en passer !
Oui, c'est vrai, la bonne solution est de s'en passer...
Quand j'installe qqc sur mon mac, généralement je copie la session au
terminal dans un fichier.
Pour m'y répérer, j'enregistre le fichier avec un nom comportant la date
en préfixe suivi du nom de la commande, du genre :
"12-07-05--sudo gem1.9 install truc.txt"
pour l'instant je fais :
$ sudo gem1.9 install truc
<ce que donne la commande>
puis :
$ fdate "sudo gem1.9 install truc" (donc au term je fais flèche vert le
haut et je met la dernière commande entre "" précédée de fdate puis je
copie le résultat de la commande dans le fichier créé.
Naïvement je pensais qu'une commande simple permettait d'avoir la
commande précédente dans un script (mon fdate), une sorte d'history
(comme dans le fichier ~/.zsh/zsh_history).
Je voulais m'éviter des copiés / collés.
Le 05/07/12 14:42, Paul Gaborit a écrit :
Réponse longue : expliquez-nous pouquoi vous avez besoin de cela et on
vous expliquera comment vous en passer !
Oui, c'est vrai, la bonne solution est de s'en passer...
Quand j'installe qqc sur mon mac, généralement je copie la session au
terminal dans un fichier.
Pour m'y répérer, j'enregistre le fichier avec un nom comportant la date
en préfixe suivi du nom de la commande, du genre :
"12-07-05--sudo gem1.9 install truc.txt"
pour l'instant je fais :
$ sudo gem1.9 install truc
<ce que donne la commande>
puis :
$ fdate "sudo gem1.9 install truc" (donc au term je fais flèche vert le
haut et je met la dernière commande entre "" précédée de fdate puis je
copie le résultat de la commande dans le fichier créé.
Naïvement je pensais qu'une commande simple permettait d'avoir la
commande précédente dans un script (mon fdate), une sorte d'history
(comme dans le fichier ~/.zsh/zsh_history).
Je voulais m'éviter des copiés / collés.
Le 05/07/12 14:42, Paul Gaborit a écrit :Réponse longue : expliquez-nous pouquoi vous avez besoin de cela et on
vous expliquera comment vous en passer !
Oui, c'est vrai, la bonne solution est de s'en passer...
Quand j'installe qqc sur mon mac, généralement je copie la session au
terminal dans un fichier.
Pour m'y répérer, j'enregistre le fichier avec un nom comportant la date
en préfixe suivi du nom de la commande, du genre :
"12-07-05--sudo gem1.9 install truc.txt"
pour l'instant je fais :
$ sudo gem1.9 install truc
<ce que donne la commande>
puis :
$ fdate "sudo gem1.9 install truc" (donc au term je fais flèche vert le
haut et je met la dernière commande entre "" précédée de fdate puis je
copie le résultat de la commande dans le fichier créé.
Naïvement je pensais qu'une commande simple permettait d'avoir la
commande précédente dans un script (mon fdate), une sorte d'history
(comme dans le fichier ~/.zsh/zsh_history).
Je voulais m'éviter des copiés / collés.
$ fdate "sudo gem1.9 install truc" (donc au term je fais flèche vert le
>haut et je met la dernière commande entre "" précédée de fdate puis je
>copie le résultat de la commande dans le fichier créé.
C'est quoi `fdate` ?
>Naïvement je pensais qu'une commande simple permettait d'avoir la
>commande précédente dans un script (mon fdate), une sorte d'history
>(comme dans le fichier ~/.zsh/zsh_history).
>
>Je voulais m'éviter des copiés / collés.
Pourquoi ne pas créer une petite commande (un script ou une fonction de
votre shell - lequel au fait) qui fait exactement tout cela ?
Au passage, cette commande/fonction pourrait filtrer ce qui n'est pas
acceptable en tant que nom de fichier dans la commande...
N'ayant pas de `fdate` sur mes différentes machines et OS, je ne sais
pas à quoi ça sert. Je ne peux donc pas vous fournir plus d'aide pour
l'instant (c'est tout un art de se faire aider!).
$ fdate "sudo gem1.9 install truc" (donc au term je fais flèche vert le
>haut et je met la dernière commande entre "" précédée de fdate puis je
>copie le résultat de la commande dans le fichier créé.
C'est quoi `fdate` ?
>Naïvement je pensais qu'une commande simple permettait d'avoir la
>commande précédente dans un script (mon fdate), une sorte d'history
>(comme dans le fichier ~/.zsh/zsh_history).
>
>Je voulais m'éviter des copiés / collés.
Pourquoi ne pas créer une petite commande (un script ou une fonction de
votre shell - lequel au fait) qui fait exactement tout cela ?
Au passage, cette commande/fonction pourrait filtrer ce qui n'est pas
acceptable en tant que nom de fichier dans la commande...
N'ayant pas de `fdate` sur mes différentes machines et OS, je ne sais
pas à quoi ça sert. Je ne peux donc pas vous fournir plus d'aide pour
l'instant (c'est tout un art de se faire aider!).
$ fdate "sudo gem1.9 install truc" (donc au term je fais flèche vert le
>haut et je met la dernière commande entre "" précédée de fdate puis je
>copie le résultat de la commande dans le fichier créé.
C'est quoi `fdate` ?
>Naïvement je pensais qu'une commande simple permettait d'avoir la
>commande précédente dans un script (mon fdate), une sorte d'history
>(comme dans le fichier ~/.zsh/zsh_history).
>
>Je voulais m'éviter des copiés / collés.
Pourquoi ne pas créer une petite commande (un script ou une fonction de
votre shell - lequel au fait) qui fait exactement tout cela ?
Au passage, cette commande/fonction pourrait filtrer ce qui n'est pas
acceptable en tant que nom de fichier dans la commande...
N'ayant pas de `fdate` sur mes différentes machines et OS, je ne sais
pas à quoi ça sert. Je ne peux donc pas vous fournir plus d'aide pour
l'instant (c'est tout un art de se faire aider!).
Il me semble que tu es en zsh.
Donc au lieu de ce qui précède tu peux faire :
$ fdate"!!" >> fichier_ou_tu_veux_copier_le_résultat
(j'ai mis un double '>' car j'ai cru comprendre que le fichier existait
déjà)
Ceci étant, si c'est toujours le même type de commande que tu fais,
personnellement je ferais un script avec comme argument(s) les seuls
noms qui changent. Quelque chose dans le genre de :
-----------------
#!/bin/zsh
sudo gem1.9 install $1
echo "sudo gem1.9 install $1" >> fichier_ou_tu_veux_copier_le_résultat
-----------------
Et j'appellerais ce script en mettant en argument ce qui change :
monscript truc.txt
Mais je ne suis pas sûr d'avoir bien compris ce qui changeait dans tes
différentes commandes, ni ce que tu veux faire exactement.
Il me semble que tu es en zsh.
Donc au lieu de ce qui précède tu peux faire :
$ fdate"!!" >> fichier_ou_tu_veux_copier_le_résultat
(j'ai mis un double '>' car j'ai cru comprendre que le fichier existait
déjà)
Ceci étant, si c'est toujours le même type de commande que tu fais,
personnellement je ferais un script avec comme argument(s) les seuls
noms qui changent. Quelque chose dans le genre de :
-----------------
#!/bin/zsh
sudo gem1.9 install $1
echo "sudo gem1.9 install $1" >> fichier_ou_tu_veux_copier_le_résultat
-----------------
Et j'appellerais ce script en mettant en argument ce qui change :
monscript truc.txt
Mais je ne suis pas sûr d'avoir bien compris ce qui changeait dans tes
différentes commandes, ni ce que tu veux faire exactement.
Il me semble que tu es en zsh.
Donc au lieu de ce qui précède tu peux faire :
$ fdate"!!" >> fichier_ou_tu_veux_copier_le_résultat
(j'ai mis un double '>' car j'ai cru comprendre que le fichier existait
déjà)
Ceci étant, si c'est toujours le même type de commande que tu fais,
personnellement je ferais un script avec comme argument(s) les seuls
noms qui changent. Quelque chose dans le genre de :
-----------------
#!/bin/zsh
sudo gem1.9 install $1
echo "sudo gem1.9 install $1" >> fichier_ou_tu_veux_copier_le_résultat
-----------------
Et j'appellerais ce script en mettant en argument ce qui change :
monscript truc.txt
Mais je ne suis pas sûr d'avoir bien compris ce qui changeait dans tes
différentes commandes, ni ce que tu veux faire exactement.
ah ouais mais ce que je veux copier dans mon fichier ce n'est pas
commande, c'est le résultat de ma commande un exemple pour être clair
ah ouais mais ce que je veux copier dans mon fichier ce n'est pas
commande, c'est le résultat de ma commande un exemple pour être clair
ah ouais mais ce que je veux copier dans mon fichier ce n'est pas
commande, c'est le résultat de ma commande un exemple pour être clair
script -c 'mon script' résultat.txt
Et tu as la sortie dans résultat.txt
script -c 'mon script' résultat.txt
Et tu as la sortie dans résultat.txt
script -c 'mon script' résultat.txt
Et tu as la sortie dans résultat.txt