小编uli*_*i42的帖子

一段时间后如何重新启动服务?

我们有多个系统存在固件错误。供应商已意识到该问题并将修复固件错误。在此之前,我们必须接受一种解决方法:在启动后一段时间重新启动相关服务。

systemd 中有一些机制可以控制失败服务的重新启动,但它们在这里没有帮助,因为服务已成功启动。只是将服务的启动延迟 - 比如说 - 1 分钟并没有帮助,它需要启动两次。

那么在系统启动后自动重启服务的最佳方法是什么?

systemd

6
推荐指数
1
解决办法
552
查看次数

仅当变量非空时才引用

我有一个古老的 bash 脚本,我想改进它。该脚本使用了许多变量,在某些情况下,某些变量被引用但为空或未设置。在这里这通常不是问题,因为脚本从一开始就是这样设计的。

然而,我已经开始使用shellcheck,它经常抱怨缺少引号。因此,我添加了引号,但遇到了一些不便,对此我没有很好的解决方案。

有很多行看起来像这样:

cmd $param1 $param2 $param3 $param4

如果其中一个参数为空或未设置,它仍然有效,并且 cmd 获取的参数数量会减少。但如果我开始添加引号

cmd "$param1" "$param2" "$param3" "$param4"

cmd 总是会得到 4 个参数,无论其中是否有一个为空。

为什么会这样,这是非常清楚的。解决方法也很明确(在使用参数之前检查是否为空),但它很丑陋并且需要大量额外的代码。

所以我正在寻找聪明的解决方案,要么a)省略参数(包括引号!)如果它是空的b)仅添加非空变量的引用

bash

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

标签 统计

bash ×1

systemd ×1