Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/12/2010, à 12:41

boutor

rediriger bash -x

Bonjour je souhaiterais lancer la commande bash -x, qui affiche le déroulement de lancement de bash.
En autre cela permet de suivre, l'évolution de $PATH.

Cependant c'est trop long pour la console. Donc j'aimerais rediriger la sortie vers un fichier out.txt.

merci

Hors ligne

#2 Le 17/12/2010, à 12:47

Qid

Re : rediriger bash -x

boutor a écrit :

c'est trop long pour la console. Donc j'aimerais rediriger la sortie vers un fichier out.txt.

ah oui genre

bash -x > out.txt

?


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#3 Le 17/12/2010, à 12:50

iuchiban

Re : rediriger bash -x

Ca marche avec avec &> log.txt

$ cat Tableau.sh
#!/bin/bash
set -x
echo "toto"

$ ./Tableau.sh > log.txt
+ echo toto
$ cat log.txt
toto


$ ./Tableau.sh &> log.txt
$ cat log.txt
+ echo toto
toto

C'est depuis que Chuck Norris a laissé la vie sauve à un manchot que l'on dit que Linux est libre.

Chuck Norris n'a pas besoin d'éditer son premier message pour ajouter [Résolu]. Chuck Norris est toujours [Résolu], quoi qu'il arrive.

Hors ligne

#4 Le 17/12/2010, à 13:03

Totor

Re : rediriger bash -x

les traces issues de l'option -x se trouvent sur la sortie d'erreur.
A noter qu'il est possible d'isoler complétement la "vraie" sortie d'erreur des traces en réaffectant  le fd des traces (variable BASH_XTRACEFD).


-- Lucid Lynx --

Hors ligne

#5 Le 17/12/2010, à 15:38

boutor

Re : rediriger bash -x

Qid a écrit :
boutor a écrit :

c'est trop long pour la console. Donc j'aimerais rediriger la sortie vers un fichier out.txt.

ah oui genre

bash -x > out.txt

?

Oui de ce genre.
Mais cette manip là ou encore celle-là "bash -x &> out.txt " ne fonctionnent pas. Car le bash -x au lieu de se dérouler s'applique sur le pipe.

Hors ligne

#6 Le 17/12/2010, à 15:54

Totor

Re : rediriger bash -x

quel pipe ?
soit plus explicite. roll


-- Lucid Lynx --

Hors ligne

#7 Le 17/12/2010, à 16:18

boutor

Re : rediriger bash -x

Totor a écrit :

quel pipe ?
soit plus explicite. roll

Peut-être j'utilise mal le mot....
bash -x s'applique sur la redirection.

Et donc rien ne sort dans out.txt.
Alors que la commande bash -x seule renvoie pleins d'infos.

Hors ligne

#8 Le 18/12/2010, à 13:38

boutor

Re : rediriger bash -x

J'ai essayé vos solutions. Je n'obtiens pas ce que je veux.

bash -x

me renvoit :

pleins de trucs avant
:/sbin:/usr/sbin:/usr/local/sbin
+++ type xz
+++ have=yes
+++ complete -F _xz -o filenames xz
+++ have xzdec
+++ unset -v have
+++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/sbin:/usr/sbin:/usr/local/sbin
+++ type xzdec
++ for i in '$(LC_ALL=C command ls "$BASH_COMPLETION_COMPAT_DIR")'
++ i=/etc/bash_completion.d/yp-tools
++ [[ yp-tools != @(*~|*.bak|*.swp|\#*\#|*.dpkg*|*.rpm@(orig|new|save)) ]]
++ [[ -f /etc/bash_completion.d/yp-tools ]]
++ [[ -r /etc/bash_completion.d/yp-tools ]]
++ . /etc/bash_completion.d/yp-tools
+++ have ypcat
+++ unset -v have
+++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/sbin:/usr/sbin:/usr/local/sbin
+++ type ypcat
++ for i in '$(LC_ALL=C command ls "$BASH_COMPLETION_COMPAT_DIR")'
++ i=/etc/bash_completion.d/yum-arch
++ [[ yum-arch != @(*~|*.bak|*.swp|\#*\#|*.dpkg*|*.rpm@(orig|new|save)) ]]
++ [[ -f /etc/bash_completion.d/yum-arch ]]
++ [[ -r /etc/bash_completion.d/yum-arch ]]
++ . /etc/bash_completion.d/yum-arch
+++ have yum-arch
+++ unset -v have
+++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/sbin:/usr/sbin:/usr/local/sbin
+++ type yum-arch
++ for i in '$(LC_ALL=C command ls "$BASH_COMPLETION_COMPAT_DIR")'
++ i=/etc/bash_completion.d/zeitgeist-daemon
++ [[ zeitgeist-daemon != @(*~|*.bak|*.swp|\#*\#|*.dpkg*|*.rpm@(orig|new|save)) ]]
++ [[ -f /etc/bash_completion.d/zeitgeist-daemon ]]
++ [[ -r /etc/bash_completion.d/zeitgeist-daemon ]]
++ . /etc/bash_completion.d/zeitgeist-daemon
+++ have zeitgeist-daemon
+++ unset -v have
+++ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/sbin:/usr/sbin:/usr/local/sbin
+++ type zeitgeist-daemon
+++ have=yes
+++ '[' yes ']'
+++ complete -F _zeitgeist_daemon -o default zeitgeist-daemon
++ [[ /etc/bash_completion.d != /etc/bash_completion.d ]]
++ unset i
++ [[ /etc/bash_completion != \/\h\o\m\e\/\b\e\n/.bash_completion ]]
++ [[ -r /home/ben/.bash_completion ]]
++ unset -f have
++ unset UNAME USERLAND have
++ set +v
++ unset BASH_COMPLETION_ORIGINAL_V_VALUE

alors que :

bash -x &> out.txt

rien du tout dans out.txt.

Hors ligne