Les variables sont écrasées lorsqu’elles sont concaténées

J’ai écrit ce petit script bash:

#!/bin/bash -x runDirectory="/mnt/sequences_tmp/melody_rnn/logdir/run_" currName=$1 magenta1="bazel run //magenta/models/melody_rnn:melody_rnn_train -- --config=attention_rnn --run_dir=" echo $magenta1 magenta2="$magenta1$runDirectory" echo $magenta2 magenta3="$magenta2$currName" echo $magenta3 

de sorte que, si je lance le script avec le paramètre “music”, le résultat devrait être le suivant:

 bazel run //magenta/models/melody_rnn:melody_rnn_train -- --config=attention_rnn --run_dir= bazel run //magenta/models/melody_rnn:melody_rnn_train -- --config=attention_rnn --run_dir=/mnt/sequences_tmp/melody_rnn/logdir/run_ bazel run //magenta/models/melody_rnn:melody_rnn_train -- --config=attention_rnn --run_dir=/mnt/sequences_tmp/melody_rnn/logdir/run_music 

mais le résultat que je reçois est:

 bazel run //magenta/models/melody_rnn:melody_rnn_train -- --config=attention_rnn --run_dir= /mnt/sequences_tmp/melody_rnn/logdir/run_ody_rnn_train -- --config=attention_rnn --run_dir= musicsequences_tmp/melody_rnn/logdir/run_ody_rnn_train -- --config=attention_rnn --run_dir= 

Comme vous pouvez le voir, au lieu d’append la variable / le texte suivant, il est ajouté à l’avant de la dernière variable utilisée, remplaçant ainsi l’ancienne variable dans la progression.

Est-ce que quelqu’un sait ce que mon erreur pourrait être? Je n’ai pas encore trouvé de questions similaires (malheureusement)

Cela ressemble à vos variables qui contiennent \r (retour chariot, 0x0D) quelque part. Vous pouvez xxd la sortie vers xxd (ou tout autre outil de vidage hexadécimal) pour confirmer.

Votre script a-t-il été enregistré au format DOS?