Pourquoi mon commande echo écrit deux mots sur l'autre?

voix
0

J'ai un script bash qui prend deux mots et (devrait) les concaténer.

#!/bin/bash

adj=$(shuf -n1 adjectives.txt)
noun=$(shuf -n1 nouns.txt)

echo ADJ $adj
echo NOU $noun

echo $adj $noun

Les variables sont correctement définies, mais pour une raison quelconque, l'écho finale ne fonctionne pas correctement. Par exemple:

ADJ humbler
NOU lyric
 lyricr

Ou:

ADJ bipinnate
NOU lipases
 lipasese

Ce qui se passe ici est que la sortie finale est la dernière lettre de l'adjectif à la fin du nom. Pourquoi est-ce, et comment puis-je arrêter?

Il y a un Asciinema de ce phénomène ici: https://asciinema.org/a/199297

Créé 02/09/2018 à 05:40
source utilisateur
Dans d'autres langues...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more