首页 > 解决方案 > 有人可以帮我将这行代码翻译成 bash shell 吗?

问题描述

我一直在努力理解这行代码,有人可以帮助我吗?

据我了解, od 意味着将输出转换为八进制格式,-我认为这意味着输入基址没有地址,但为什么?-N 是长度

如果有人可以在 sintax 时帮助翻译此内容,我将不胜感激

n=$((`od -An -N1 -i /dev/random` %100 ))

标签: linuxbashshellunix

解决方案


od -An -N1 -i /dev/random从中获取一个字节 ( -N1) 的输入/dev/random,将其视为有符号整数值 ( -i) 并且不使用地址基 ( -An)(这样做是为了禁用标题行 od 通常输出)。运行这个会给你一个介于 0 到 255 之间的随机数。

将此命令放在反引号“`”中会将 od 的输出放入命令行。

$((x % y))计算 x 模 y,其中 x 是 od 的输出,在您的示例中 y 是 100。

最后,结果被放置在n您可以使用例如访问的变量中echo $n


推荐阅读