Bash 重新启动多服务脚本

Bash 重新启动多服务脚本,bash,shell,Bash,Shell,系统管理员阻止我重新启动多个服务sudo systemctl restart service1 service2 有没有办法用bash脚本来解决这个问题 创建一个文件,例如:touch~/restart.sh 使其可执行,例如:chmod 775~/restart.sh 将以下代码放入其中: #!/bin/sh for service; do systemctl restart "$service"; done 使用sudo~/restart.sh service1 service2运行脚本不

系统管理员阻止我重新启动多个服务
sudo systemctl restart service1 service2


有没有办法用bash脚本来解决这个问题

创建一个文件,例如:
touch~/restart.sh

使其可执行,例如:
chmod 775~/restart.sh

将以下代码放入其中:

#!/bin/sh
for service; do systemctl restart "$service"; done

使用
sudo~/restart.sh service1 service2

运行脚本不会比您拥有更多的权限,因此我猜答案是否定的。您可以重新启动单个脚本吗?是的,我可以重新启动单个脚本
sudo systemctl restart service1
可以工作,但当我执行多个操作时,它就不能工作。我不认为脚本会有更多权限,但我不确定。如果您有权限单独执行所有操作,但不能在一个命令中执行所有操作,那么1)这对您的操作系统和版本有效吗?2) 如果管理员不允许,也许你应该重新考虑你的方法。。。3)你可以在一个循环中完成它们,是吗?你错误地输入了
do
带有分号,您不需要在服务上迭代,只需
systemctl重新启动“$@”
@KamilCuk谢谢您发现了错误。问题在于
systemctl restart service1 service2
在他的系统上不工作。