我制作了这个简单的小脚本来尝试重启目录中的所有服务:
#!/bin/bash systemctl daemon-reload for service in /etc/systemd/system/multi-user.target.wants/* do systemctl restart $service done;
当我尝试运行它时,出现以下错误:
Failed to restart etc-systemd-system-multi\x2duser.target.wants-openvswitch.service.mount: Unit etc-systemd-system-multi\x2duser.target.wants-openvswitch.service.mount failed to load: No such file or directory
最佳答案
您需要从$service
变量中提取basename
systemctl restart "$(basename "$service")"
或者您可以使用 ${service##*/}
它将删除直到并包括最后一个斜杠:
systemctl restart "${service##*/}"
关于linux - 尝试制作一个 bash 脚本来重新启动某个目录中的所有服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37549104/