Linux命令行${RANDOM:0:3}

Linux命令行${RANDOM:0:3},linux,python,Linux,Python,我一直在阅读有关Linux命令行的内容,并遇到以下问题: ${RANDOM:0:3} 这应该会产生4个随机数,但有时只会产生3个,有什么原因吗?另外,我只涉及Python,因此不确定为什么这个命令在开始时需要$sign 如果有任何帮助,我们将不胜感激。您的假设是错误的,(而实现您的目标的方法完全是错误的)这不是应该“创建”4个随机数,而只是显示0到32767(小整数)之间整数的前3位数字。如果整数小于100或10,第二个和第三个可能会丢失 如果您希望从命令行获取整数(如您在原始帖子中提到的),这

我一直在阅读有关Linux命令行的内容,并遇到以下问题:

${RANDOM:0:3}

这应该会产生4个随机数,但有时只会产生3个,有什么原因吗?另外,我只涉及Python,因此不确定为什么这个命令在开始时需要$sign


如果有任何帮助,我们将不胜感激。

您的假设是错误的,(而实现您的目标的方法完全是错误的)这不是应该“创建”4个随机数,而只是显示0到32767(小整数)之间整数的前3位数字。如果整数小于100或10,第二个和第三个可能会丢失

如果您希望从命令行获取整数(如您在原始帖子中提到的),这是一种很好的方法:

 python -c 'import random; print(random.randint(0, 68))'

(介于0和68之间)

${parameter:offset:length}正在从
参数
获取子字符串,从
偏移量
开始,长度为
个字符。因此,您的代码生成一个随机数并取其前三位


它不可能产生4个字符,但可以很容易地产生2个或1个:如果随机数小于100或小于10。

Python太漂亮了。我看到随机生成一个数字,然后0:3显示前4位数字,除非该数字小于1000。我本应输入:0:4,我的错误。正如我所说,实现目标的方法完全错误。啊,是的,我刚才问过这个问题,它实际上大部分时间都打印4个字符,但是就像你说的,如果数字小于100或10,那么它只会打印2或1。