小编Tom*_*Tom的帖子

Systemd bash 内置函数

我有一个应用程序需要使用 commando 源来设置他的环境文件。

[Unit]
Description=Programname
After=syslog.target network.target

[Service]
User=root
ExecStartPre=source /opt/environmentname/bin/activate enviromentname
ExecStart=/var/programname/programname -f /etc/programname/programconfig.conf

[Install]
WantedBy=multi-user.target  
Run Code Online (Sandbox Code Playgroud)

现在,Systemd 抱怨 source 因为这不是绝对路径而且 source 是 bash 的内置所以我试过了

ExecStartPre=/bin/bash -c "source /opt/environmentname/bin/activate enviromentname"
Run Code Online (Sandbox Code Playgroud)

我们使用 source 而不是 chmod +x 运行脚本是因为供应商的要求。

那么有没有办法让这个工作?或者我们需要使用分叉之类的东西吗?

我们如何在 Systemd 单元文件中正确使用 bash 内置函数?

bash source environment-variables systemd

5
推荐指数
2
解决办法
5884
查看次数

标签 统计

bash ×1

environment-variables ×1

source ×1

systemd ×1