${(z)var} 的问题

发布于 2024-09-14 03:36:51 字数 351 浏览 4 评论 0原文

代码:

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

愁杀 2024-09-21 03:36:51

使用 ${(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 to rsync -avP -e \"ssh\ -p\ 1234\", (Q) does an additional unquoting magic)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文