【发布时间】:2015-07-05 00:32:00
【问题描述】:
做一个迁移我的代码是
cat /etc/fstab |grep nfs >/root/mounts.txt
cat /etc/fstab |grep cifs >> /root/mounts.txt
rsync -av /root/mounts.txt ${REMOTEHOST}:/root/
ssh root@${REMOTEHOST} 'cat /root/mounts.txt >> /etc/fstab'
ssh root@${REMOTEHOST} 'for i in $(cat /root/mounts.txt |awk '{print $2}');do mkdir -p $i; done'
问题是最后一行在本地工作:
for i in $(cat /root/mounts.txt |awk '{print $2}');do mkdir -p $i; done
但是,当我将它传递给我得到的远程主机时:
" {打印
awk:命令。 line:1: ^ 意外的换行符或字符串结尾"
有什么修复建议吗?
【问题讨论】:
-
您的“内部”单引号根本不是“内部”。他们正在结束(并重新启动)外部单引号字符串。你需要逃离他们。将它们替换为
'\''(单引号反斜杠单引号单引号)。