小编Dan*_*ple的帖子

如何让 bash 以与 pipefail 类似的方式在反引号失败时退出?

所以我喜欢尽可能地强化我的 bash 脚本(并且当不能委托给像 Python/Ruby 这样的语言时)以确保错误不会被发现。

在这种情况下,我有一个 strict.sh,其中包含以下内容:

set -e
set -u
set -o pipefail
Run Code Online (Sandbox Code Playgroud)

并在其他脚本中获取它。然而,虽然 pipefail 会出现:

false | echo it kept going | true

它不会拿起:

echo The output is '`false; echo something else`' 
Run Code Online (Sandbox Code Playgroud)

输出将是

输出是''

False 返回非零状态和非标准输出。在管道中它会失败,但在这里没有发现错误。当这实际上是存储在变量中的计算供以后使用,并且该值设置为空白时,这可能会导致以后出现问题。

那么 - 有没有办法让 bash 将反引号内的非零返回码视为足以退出的理由?

bash shell-script

73
推荐指数
6
解决办法
3万
查看次数

“du”计划可以变得不那么激进吗?

我们有一项常规工作,du它对许多子目录进行摘要,挑选出最严重的违规者,并使用输出来查找是否存在快速上升的事物以发现潜在问题。我们使用diff对快照来比较它们。

有一个顶级目录,有许多(几百个)子目录,每个子目录可能包含数十个(或更多)的文件。

du -s在这种情况下," " 可能非常具有 IO 攻击性,导致我们的服务器保释其缓存,然后出现大量 IO 峰值,这是非常不受欢迎的副作用。

什么策略可以用来获得相同的数据,而没有不必要的副作用?

io disk-usage limit

21
推荐指数
1
解决办法
2981
查看次数

标签 统计

bash ×1

disk-usage ×1

io ×1

limit ×1

shell-script ×1