${(z)var} 的问题
代码:
HOST=localhost
PORT=1234
RSYNCCMD="rsync -avP -e \"ssh -p $PORT\""
${(z)RSYNCCMD} root@$HOST:"\"/foo\"" /bar
输出:
rsync: Failed to exec ssh -p 1234: No such file or directory (2)
...
如果我直接在控制台中输入相同的内容 (rsync -avP -e "ssh -p 1234" ...
),它就会起作用。
我该如何修复它?
Code:
HOST=localhost
PORT=1234
RSYNCCMD="rsync -avP -e \"ssh -p $PORT\""
${(z)RSYNCCMD} root@$HOST:"\"/foo\"" /bar
Output:
rsync: Failed to exec ssh -p 1234: No such file or directory (2)
...
If I enter the same thing (rsync -avP -e "ssh -p 1234" ...
) directly into the console, it works.
How do I fix it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用
${(Q)${(z)RSYNCCMD}}
可能适合您(而不是${(z)RSYNCCMD}
)(
${( z)RSYNCCMD}
似乎扩展为rsync -avP -e \"ssh\ -p\ 1234\"
,(Q) 执行了额外的取消引用魔法)using
${(Q)${(z)RSYNCCMD}}
might work for you (instead of${(z)RSYNCCMD}
)(
${(z)RSYNCCMD}
seems to be expanded torsync -avP -e \"ssh\ -p\ 1234\"
, (Q) does an additional unquoting magic)