[email protected]
是我的模板服务单位。
[Unit]
Description=my service unit
[Service]
Type=oneshot
ExecStart=/home/username/scripts/myprogram.py %I
我想%I
成为--arg1 --arg2=/path/to/something
我试过...
systemctl start myservice@'--arg1 --arg2=/path/to/something'.service
但它认为--arg1
这是一个糟糕的选择systemctl
。和...
systemctl start $(systemd-escape --template [email protected] '--arg1 --arg2=/path/to/something'
认为--arg1
是一个糟糕的选择systemd-escape
。
请帮忙
答案1
你可以ExecStart=/bin/sh -c %I
让 shell 扩展空格=吗?我在尝试执行实例名称时偶然发现了这一点,这对我有用。2020年的这个问题说他们不会在模板中实现多个字段并建议一个用户正在使用脚本来解析参数的实例名称。来自 keszybz 的回复(我认为是 systemd 开发者)
这种情况以前曾出现过,我们决定不允许多个实例。如果需要,可以以特定于单元的方式将多个字段编码为一个值,或者使用实例作为某些外部存储的密钥,例如磁盘上的目录。对不起。