下面是我的 shell 脚本,我试图在下面的 if 语句 block 中的 scp
调用中附加 $element。
for element in ${x[$key]}; do # no quotes here
printf "%s\t%s\n" "$key" "$element"
if [ $key -eq 0 ]
then
scp david@machineB:/data/be_t1_snapshot/20131215/t1_$element_5.data /data01/primary/.
fi
done
但是每当我运行上面的 shell 脚本时,我总是这样 -
scp david@machineB:/data/be_t1_snapshot/20131215/t1_.data No such file or directory
当我仔细查看上面的错误信息时,上面的 scp 声明不正确 -
scp david@machineB:/data/be_t1_snapshot/20131215/t1_0_5.data /data01/primary/.
$element
的值应该替换为 0
但不知何故我上面的附加逻辑不起作用。我在上面的 scp 命令中附加 $element 的方式有什么问题吗
最佳答案
尝试 t1_${element}_5.data
scp david@machineB:/data/be_t1_snapshot/20131215/t1_${element}_5.data /data01/primary/.
当您使用 t1_$element_5.data
时, bash 将替换 $element_5
以其值(value),
你没有 $element_5
定义,所以你得到 p>
t1_.data No such file or directory
关于linux - 如何在 shell 脚本中的 SCP 命令中附加变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20626745/