Rediriger le résultat d'une commande vers une variable ? [SHELL] - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 30-03-2010 à 08:13:08
J'ai exactement la même sortie via ls -ial qu'avec echo $x à savoir un listing bien ordonné.
Marsh Posté le 30-03-2010 à 10:11:40
Code :
|
Mais c'est un poil bourrin.
Marsh Posté le 30-03-2010 à 13:47:43
o'gure a écrit : J'ai exactement la même sortie via ls -ial qu'avec echo $x à savoir un listing bien ordonné. |
avec les sauts de lignes ?
moi j'ai pas de saut de lignes, tout est affiché à la suite, du coup le "ls -ial" est affiché sans les sauts de ligne ce qui rend la lecture difficile,
essaie de faire le "ls -ial" sur un repertoire où il y a beaucoup de fichiers, de le mettre dans une variable, tu verras alors qu'avec la commande echo ça va t'afficher le résultat sans le formatage d'où la lecture difficile,
le problème apparait avec Mandriva 2007.1 et la dernière version de Debian ( Lenny, ainsi que la version "sid" ),
le shell utilisé est le bash
Marsh Posté le 30-03-2010 à 13:51:17
Elbarto a écrit : essaie de faire le "ls -ial" sur un repertoire où il y a beaucoup de fichiers, de le mettre dans une variable, tu verras alors qu'avec la commande echo ça va t'afficher le résultat sans le formatage d'où la lecture difficile, |
> pwd && x=$(ls -ial) |
> echo $x |
Elbarto a écrit : le problème apparait avec Mandriva 2007.1 et la dernière version de Debian ( Lenny, ainsi que la version "sid" ), |
Zsh, il plante souvent ça doit venir de là
Marsh Posté le 30-03-2010 à 14:01:32
en tout cas avec bash la commande echo ne semble pas interpréter correctement les sauts de ligne contenus dans une variable, les sauts de ligne sont remplacés par des espaces vides,
Fork Bomb a écrit :
|
ce script permet en effet de respecter les sauts de ligne, ça peut être une solution
Marsh Posté le 31-03-2010 à 21:59:53
echo "$x" tout simplement ...
Marsh Posté le 30-03-2010 à 00:52:51
Bonjour,
j'ai ce script qui permet de rediriger le résultat d'une commande "ls -ial" vers une variable shell puis de l'afficher via la commande "echo" :
le problème c'est que la commande echo m'affiche le résultat sans respecter les sauts de ligne, ça m'affiche le résultat de la commande ls en un seul bloc comme si les sauts de ligne étaient supprimés, ça rend le résultat difficilement lisible,
j'ai essayé la commande "echo -e $x" mais ça ne change rien,
je cherche donc à savoir si il existe un moyen de faire afficher le contenu de $x en respectant les sauts de ligne ?
merci
Message édité par Elbarto le 30-03-2010 à 00:57:19