[tcsh] Affichage de retour chariot

lilboyz -  
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à toutes et tous,

Vous allez bien? ^^

Je planche sur un petit problème d'utilisation du tcshell (c'est une contrainte d'utiliser le tcsh, non mon choix), un exemple vaut mieux qu'un long discours :

Premièrement le code en Bourne Shell qui affiche un résultat correct :
#!/bin/sh
var='ls -l /tmp'
echo "$var"

Le résultat :
total 12
-rw------- 1 os4 oss 3 2012-05-09 11:45 file.txt
-rw------- 1 os4 oss 3 2012-05-09 11:45 tmp01523
-rw------- 1 us4 oss 3 2012-05-09 11:45 youknowwhat

A présent le code qui fait (plus ou moins) la même chose en tcshell
#!/bin/tcsh
set var = 'ls -l /tmp'
echo "$var"

Et son résultat disgracieux ^^' :
total 12 -rw------- 1 us4 oss 3 2012-05-09 11:45 file.txt -rw------- 1 us4 oss 3 2012-05-09 11:45 tmp01523 -rw------- 1 us4 oss 3 2012-05-09 11:45 youknowwhat


Auriez-vous une solution utilisant le tcsh? En Bourne Shell, les double quote ont l'air d'avoir un rôle différent qu'en tcsh, peut-être il y a-t-il l'équivalent en tcshell?

Merci d'avance.

2 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
il me semble que ce n'est pas possible, parce que les \n ne sont pas conservés dans la variable, on peut le voir avec : set | hd
alors qu'ils le sont en bash
Top Ten Reasons not to use the C shell
0
lilboyz
 
Si tu essaies
/bin/echo -e "ligne1\nligne2"

Il n'y a pas de soucis, c'est interprété. Mais dans le cas d'une commande c'est moins évident.
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
c'est la variable qui ne conserve pas le \n
0