Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Variable PS4

6 réponses
Avatar
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 ?

6 réponses

Avatar
Olivier Miakinen
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

Avatar
Lie Algebra
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.

Avatar
Lie Algebra
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.

Avatar
Stephane Chazelas
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


Avatar
Olivier Miakinen

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

Avatar
Stephane Chazelas
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