Linux 如何在shell脚本中的SCP命令中附加变量?

Linux 如何在shell脚本中的SCP命令中附加变量?,linux,bash,shell,unix,scp,Linux,Bash,Shell,Unix,Scp,下面是我的shell脚本,我试图在if语句块中的Belowscp调用中添加$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/

下面是我的shell脚本,我试图在if语句块中的Below
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
但每当我运行我的超壳脚本时,我总是会这样-

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的方式有什么问题吗

scpdavid@machineB:/data/be_t1_snapshot/20131215/t1${element}\u 5.data/data01/primary/

使用
t1\$element\u 5.data
时,bash将用其值替换
$element\u 5
, 您没有定义
$element_5
,因此

t1\数据没有这样的文件或目录


尝试
t1${element}\u 5.数据

scpdavid@machineB:/data/be_t1_snapshot/20131215/t1${element}\u 5.data/data01/primary/

使用
t1\$element\u 5.data
时,bash将用其值替换
$element\u 5
, 您没有定义
$element_5
,因此

t1\数据没有这样的文件或目录