草庐IT

random_filename

全部标签

linux - linux bash 中的 $RANDOM 在启动时总是相同的

我遇到了这个问题,我很困惑。我在bash中使用$RANDOM作为linux启动过程最开始的测试字符串。非常有趣的是,我观察到每次linux启动时$RANDOM都是一样的。在我的例子中,它是18869。我只是将$RANDOM回显到文件中。我在每次启动时都观察到相同的数字。在那之后,$RANDOM似乎返回“真正的”随机数。echo"$RANDOMisateststring">>/tmp/test谁能解释一下这是什么原因? 最佳答案 这是Bash4.2源代码中variables.c的初始种子算法:staticvoidseedrand(){

linux - 无法访问 2>&1 : How to treat variable content as a redirection not as filename

如何根据可变内容控制进程输出重定向?我试过以下,但它将$redirect的内容视为文件名而不是重定向本身。$redirect="2>&1>/dev/null"$ls-la$redirectls:cannotaccess2>&1:Nosuchfileordirectory$redirect=""$ls-la$redirecttotal376drwx------1wakatanausers4096Feb515:32.drwx------1wakatanausers4096Feb218:44..-rw-------1wakatanausers390Feb513:34.bashrc

linux - bash 函数 $RANDOM 应该具有均匀分布吗?

我知道bash函数$RANDOM生成一个范围内的随机整数,但是,这些数字是否应该遵循(或近似)均匀离散分布? 最佳答案 我刚刚打印了$RANDOM一百万次,将它变成了一个直方图,然后用gnumeric查看了它,图表显示了一个非常正态的分布!fornin`seq11000000`;doecho$RANDOM;done>random.txtgawk'{b=int($1/100);a[b]++};END{for(nina){printn","a[n]}}'random.txt>hist.csvgnumerichist.csv因此,如果您想

linux - 在 awk 脚本中使用 FILENAME

#!/usr/bin/awk-f{if(!FILENAME){print"";exit}calc=0;....}我正在尝试在我的awk脚本中打印出用法语句,因此如果脚本在没有输入文件的情况下运行,它会显示用法。这是我的尝试,但我假设我没有正确使用FILENAME变量。我还尝试将if语句放在BEGIN和ENDblock中,但没有任何效果。 最佳答案 BEGIN{if(ARGC!=2){print"";exit}{calc=0;....} 关于linux-在awk脚本中使用FILENAME,

c - 使用 RNDADDENTROPY 将熵添加到/dev/random

我有一个设备会产生一些噪声,我想将其添加到嵌入式Linux系统中/dev/random设备的熵池中。我正在阅读manpageon/dev/random而且我不太了解您传递给RNDADDENTROPYioctl调用的结构。RNDADDENTROPYAddsomeadditionalentropytotheinputpool,incrementingtheentropycount.Thisdiffersfromwritingto/dev/randomor/dev/urandom,whichonlyaddssomedatabutdoesnotincrementtheentropycount.

linux - 从 systemd bash 内联脚本创建 filename_$(date %Y-%m-%d)

我正在尝试执行一个systemd计时器,并希望将执行脚本的输出按日期保存在一个文件中。这是我在.service文件中的ExecStart脚本:ExecStart=/bin/bash-c'echo$(date+%Y-%m-%d)>>/home/username/test_output_$(date+%Y-%m-%d).log'这会创建文件,但会添加一个“哈希”而不是月份名称:~/test_output_2017-ea3c0c2dd56c499a93412641e41008db-01.log内容相同:2017-ea3c0c2dd56c499a93412641e41008db-01如果我在s

linux - "cat/dev/random"与 "tail -f/dev/random"

声明cat/dev/random如预期的那样继续产生输出,但是tail-f/dev/random挂起(至少在OSX和SUSE上)。为什么后一条语句挂起? 最佳答案 tail-f做了几件事:找到流的结尾,通过读取直到到达EOF或通过查找结尾(/dev/random上不可用的操作)。备份一定长度(可能通过保留最近读取内容的适当长度的缓冲区,可能通​​过保留初始扫描期间最后N行的查找位置列表,或通过其他方式),然后打印该点和结尾之间的内容。继续打印超过该点的新内容,因为此类内容可用。如果没有尽头——如/dev/random的情况——那么第

c++ - 为什么从/dev/random 读取几乎总是阻塞?

我正在使用内核为2.6.38-12-generic的kubuntu我想在程序开始时从/dev/random中读取16个随机数。但是,它会在相对较短的时间后阻塞。填充/dev/random缓冲区需要多长时间?为什么需要这么长时间才能填满。我将其用作uuid生成器,并将其他随机源添加到种子中我的梅森捻线机。重要的是我不要得到重复的或重复的种子。如果我更改为/dev/urandom它工作正常。关于使用/dev/random而不是/dev/urandom的任何观点。 最佳答案 你真的不应该使用/dev/random。在已知的情况下,/dev

linux - ". filename"从/bin/sh 运行时找不到文件,从/bin/bash 运行;为什么?

我的简单脚本是这样的:#!/bin/shDEF=.file_name_with_a_leading_dot.sh.${DEF}注意第一行的/bin/sh。当我运行那个简单的脚本时,我收到一个错误,指出找不到该文件。但是,如果我将该顶行更改为#!/bin/bash,那么脚本会在当前目录中找到该文件。但是,在我的UbuntuLinux笔记本电脑上,我看到/bin/sh是/bin/bash的符号链接(symboliclink)。那么,为什么我的脚本表现不同?此外,我可以像这样运行脚本:/bin/bash./script.sh没关系。那么,我错过了什么? 最佳答案

c -/dev/random 总是返回相同的序列

我打算使用/dev/random输出作为opensslkey生成的种子,然后我写了这个小程序只是为了检查我要做什么:#include#include#include#defineLEN128voiduc2hex(char*hex,unsignedchar*uc,unsignedshortuc_len){FILE*bp=fmemopen(hex,2*uc_len+1,"w");unsignedshorti;for(i=0;i我运行该程序一两次,一切似乎都运行良好,但随后我又以​​很短的顺序再次运行了四次,这是输出:[walter@eM350~]$./random0ee08c942ddf9