Variable PS4

Le
Lie Algebra
Bonjour,


dans un script shell (le shell invoqué étant bash) je set la variable
PS4 de cette façon:
PS4='debug [${LINENO}]: '

Si maintenant j'invoque /bin/sh dans le même script, cela ne fonctionne
pas: la variable PS4 valant toujours '+'.

Existe-il une alternative (à LINENO ou à la définition de PS4) qui
produise le résultat attendu ?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Olivier Miakinen
Le #123561
Bonjour,


dans un script shell (le shell invoqué étant bash) je set la variable
PS4 de cette façon:
PS4='debug [${LINENO}]: '

Si maintenant j'invoque /bin/sh dans le même script, cela ne fonctionne
pas: la variable PS4 valant toujours '+'.

Existe-il une alternative (à LINENO ou à la définition de PS4) qui
produise le résultat attendu ?


Sauf erreur :

export PS4='debug [${LINENO}]: '

ou

PS4='debug [${LINENO}]: '
export PS4

Lie Algebra
Le #123560
Olivier Miakinen wrote:
Sauf erreur :

export PS4='debug [${LINENO}]: '

ou

PS4='debug [${LINENO}]: '
export PS4



Justement, ces commandes ne fonctionnent que dans un script bash.
Lorsque le même script invoque /bin/sh en lieu et place de
/usr/local/bin/bash , PS4 reste setté à '+' et la question reste
entière.

Lie Algebra
Le #123559
Olivier Miakinen wrote:

Sauf erreur :

export PS4='debug [${LINENO}]: '

ou

PS4='debug [${LINENO}]: '
export PS4


Justement, ces commandes ne fonctionnent que dans un script bash.
Lorsque le même script invoque /bin/sh en lieu et place de
/usr/local/bin/bash, PS4 reste setté à '+' et la question reste
entière.

Stephane Chazelas
Le #123558
On Tue, 15 Jan 2008 08:50:25 +0100, Lie Algebra wrote:
Olivier Miakinen wrote:

Sauf erreur :

export PS4='debug [${LINENO}]: '

ou

PS4='debug [${LINENO}]: '
export PS4


Justement, ces commandes ne fonctionnent que dans un script bash.
Lorsque le même script invoque /bin/sh en lieu et place de
/usr/local/bin/bash, PS4 reste setté à '+' et la question reste
entière.


Si tu es sous Solaris, le sh standard ne se trouve pas dans /bin
mais dans /usr/xpg4/bin (ou /usr/xpg6/bin).

Le mieux est probablement de faire un:

PATH=$(command -p getconf PATH; :)
export PATH

et de lancer "sh" plutot que "/bin/sh".

--
Stephane


Olivier Miakinen
Le #123557

PATH=$(command -p getconf PATH; :)


J'aimerais bien voir comment s'affiche cette ligne dans MesNews avec
reconnaissance automatique des souriards... Heureusement que c'est
désactivable ! :-p

Stephane Chazelas
Le #123556
On Tue, 15 Jan 2008 11:59:37 +0100, Olivier Miakinen wrote:

PATH=$(command -p getconf PATH; :)


J'aimerais bien voir comment s'affiche cette ligne dans MesNews avec
reconnaissance automatique des souriards... Heureusement que c'est
désactivable ! :-p


Note que le "; :" est pour contourner un bug dans la plupart des
versions des ksh AT&T. Ce n'est pas necessaire pour les sh de
chez bash, ash, zsh ou pdksh/posh/mksh.

--
Stephane


Publicité
Poster une réponse
Anonyme