Affichage de variable contenant une chaine de caractères
Bonsoir,
Je ne comprends pas ce qui se passe dans la séquence de commandes suivante
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| [mar. 14 février (~) user] fichier="/var/www/html/Cours/social2/jurisprudence/juri0467"
[mar. 14 février (~) user] cat $fichier
/var/www/html/Cours/social2/jurisprudence/juri0467
<h1>Titre</h1>
[mar. 14 février (~) user] chemin=$(sed 1q $fichier)
[mar. 14 février (~) user] echo $chemin
/var/www/html/Cours/social2/jurisprudence/juri0467
[mar. 14 février (~) user] echo $fichier
/var/www/html/Cours/social2/jurisprudence/juri0467
[mar. 14 février (~) user] echo "chemin#$chemin#"
#hemin#/var/www/html/Cours/social2/jurisprudence/juri0467
[mar. 14 février (~) user] echo "fichier#$fichier#"
fichier#/var/www/html/Cours/social2/jurisprudence/juri0467#
[mar. 14 février (~) user] titre="<h1>Titre</h1>"
[mar. 14 février (~) user] titre2=$(sed -n 3\p $fichier)
[mar. 14 février (~) user] echo "titre2#$titre2#"
#itre2#<h1>Titre</h1>
[mar. 14 février (~) user] echo "titre#$titre#"
titre#<h1>Titre</h1>#
[mar. 14 février (~) user] |
Dans ces commandes, en principe, la variable $chemin et la variable $fichier devraient avoir le même contenu, mais ça n'est pas le cas, alors que cherche à m'assurer qu'il n'y a pas un caractère invisible du genre espace en demandant que la variable s'affiche entre deux #
Mais le résultat est un peu déconcertant, cf lignes 11 à 15 ci-dessus
Il en va de même des variables $titre et $titre2: elles devraient avoir le même contenu et ça n'est pas le cas, et elles s'affichent bizarrement (cf. lignes 17 à 20)
Qui pourrait m'expliquer ?
Cordialement,