RHEL echo -e

RHEL echo -e - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 29-01-2013 à 13:59:19    

Salut,

 

Sur un RHEL 5.x la commande

echo

par défaut n’interprète pas les

\n

et autre

\t


Pour cela il faut utiliser le paramètre -e.

 

Pour le shell je m'en suis sorti avec un alias :

alias echo = "echo -e"

=> mais cela ne fonctionne pas dans mes scripts KSH.

 

Y a t'il un moyen de lui faire interpréter par défaut les

\n

et

\t

sans devoir éditer mes millions de lignes de scripts (pour y mettre echo -e) ?

 

Merci de votre aide!

 

ps : Mon shell est le ksh.


Message édité par AGA le 29-01-2013 à 14:01:21
Reply

Marsh Posté le 29-01-2013 à 13:59:19   

Reply

Marsh Posté le 30-01-2013 à 04:37:14    

salut,
 
tu devrais utiliser printf.
c'est fait pour formater les données.
il y a une partie format, et les données.
 
par exemple:

Code :
  1. printf '\t%s\n%s' foo bar
  2.         foo
  3. bar

ça, c'est vraiment le plus simple.
c'est une commande très puissante.


Message édité par Profil supprimé le 30-01-2013 à 04:39:28
Reply

Marsh Posté le 04-02-2013 à 10:15:37    

Printf dans l'idéal, merci.
 
Par contre, dans l'immédiat les scripts d'exploitations fournis sont avec des echo. :/

Reply

Marsh Posté le 08-02-2013 à 15:41:35    

tu as essayé de définir ton alias pour l'ensemble des environnements (au hasard dans /etc/profile).
 
Le problème des scripts c'est qu'ils fork un nouveau shell, donc tu perds tes alias en cours.


---------------
Il y a trois sortes de mensonges : les mensonges, les gros mensonges et les statistiques !
Reply

Marsh Posté le 08-02-2013 à 22:28:17    

Sinon avec un bon sed des familles tu dois pouvoir remplacer tes echo par echo -e assez facilement.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed