for VM in $VM_LIST;do
ssh 10.0.0.163 "mkdir $ROOT$VM`date +%F`"
ssh 10.0.0.163 'find -name "$VM.vmx" | xargs grep -r vmdk >/vmkd.list | cat /vmkd.list | awk -F\" '{print $2}' | while read list; do find -name "$list" ;done'
done
我有一个问题,这个表达式 - awk -F\" '{print $2}'
,它打破了我的代码
awk: cmd. line:1: Unexpected end of string
我能做些什么在于:
使用:'“\”'':报价+反斜杠+报价+报价为替换每个单引号 –
您发送SSH封闭在唱串。包含在成功连接远程计算机后运行的命令。在你的命令字符串中,你有单引号,有效地结束你的字符串过早。你必须“逃避”那些,以便使用F. Hauri在前面的评论中解释的方法将它们视为字符串的一部分。 – JNevill
*“我对这个表达式有问题......它破坏了我的代码”* - 怎么回事?什么是问题或错误?由于Stack Overflow隐藏了你的密切原因:*寻求调试帮助的问题(“为什么这个代码不工作?”)必须包含所需的行为,特定的问题或错误以及在问题本身中重现它的最短代码。没有明确问题陈述的问题对其他读者无益。请参阅:[如何创建最小,完整和可验证的示例](https://stackoverflow.com/help/mcve)。* – jww