[tcsh] Affichage de retour chariot

Fermé
lilboyz - 9 mai 2012 à 12:05
dubcek Messages postés 18744 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 4 septembre 2024 - 10 mai 2012 à 07:58
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.

A voir également:

2 réponses

dubcek Messages postés 18744 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 4 septembre 2024 5 617
Modifié par dubcek le 9/05/2012 à 15:08
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
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 18744 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 4 septembre 2024 5 617
10 mai 2012 à 07:58
c'est la variable qui ne conserve pas le \n
0