systemctl 变量转义在 shell 中如何工作?

systemctl 变量转义在 shell 中如何工作?

我想要使​​用 systemctl 执行批处理作业,例如:

systemctl status v2ray-haproxy@{1..5}

没问题。但是当我将 5 更改为变量时:

n=5;systemctl status v2ray-haproxy@{1..$n}

现在无法工作,并且出现错误:

无效的单元名称“v2ray-haproxy@{1..5}”被转义为“v2ray-haproxy@\x7b1..5\x7d”(也许您应该使用 systemd-escape?)无法找到单元 v2ray-haproxy@\x7b1..5\x7d.service。

如何让这个变量代码起作用?

答案1

尝试下面的方法

n=5;systemctl status v2ray-haproxy@{1..$(seq 1 $n)}

相关内容