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?