[tcsh] Affichage de retour chariot

lilboyz -  
dubcek Messages postés 18627 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

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    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
  2. 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
    1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
       
      c'est la variable qui ne conserve pas le \n
      0