【发布时间】:2018-04-16 10:11:37
【问题描述】:
我写了这个小 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
因此,如果我使用参数“music”启动脚本,则输出应如下所示:
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
但我真正得到的输出是:
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=
如您所见,它不是附加下一个变量/文本,而是添加到最后使用的变量的前面,覆盖正在进行中的旧变量。
有谁知道我的错误可能是什么?我还没有在这里找到任何类似的问题(遗憾)
【问题讨论】:
标签: bash shell unix string-concatenation