Linux 如何在shell脚本中的SCP命令中附加变量?
下面是我的shell脚本,我试图在if语句块中的BelowLinux 如何在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/
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\数据没有这样的文件或目录