LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 7483|回复: 21

如何产生一个随机的字母和一个一位的数字?[已解决]

[复制链接]
发表于 2003-10-9 17:47:50 | 显示全部楼层 |阅读模式
如何产生一个随机的字母和一个一位的数字?

rt

谢谢!!
发表于 2003-10-9 19:27:54 | 显示全部楼层
我也想知道~~~
发表于 2003-10-9 20:29:52 | 显示全部楼层
最初由 devel 发表
我也想知道~~~

i am thinking~~~
如果生成随机数是可以通过默认的变量$RANDOM!可是如果按照楼主要求的产生一个字母和一个一位数字这样的随机数,,,,,very trouble ~~~```...让我们思考~~
发表于 2003-10-9 20:40:26 | 显示全部楼层
用perl的rand可以实现生成随机数字,但目前还不清楚如何生成随机字母
发表于 2003-10-9 20:47:58 | 显示全部楼层
最初由 xiaoniao9312 发表
用perl的rand可以实现生成随机数字,但目前还不清楚如何生成随机字母

没有使过,估计跟在shell下,用echo $RANDOM的效果差不多吧~~
难题是如果转化成字母?:ask
发表于 2003-10-9 21:00:06 | 显示全部楼层
受xiaoniao兄的启发 不知道这样是否可以?(糙了点)
  1. #!perl -w
  2. #scritname:_rand
  3. $str=('a'..'z')[26*rand];
  4. $num=int rand(10);
  5. print "$str$num\n";
复制代码
这样,perl _rand 的结果类似:a4,r1,v6....
看来,perl的功能实在不可小觑 ;)
但是我们能不能用shell呢?! ...
发表于 2003-10-9 21:10:48 | 显示全部楼层
最初由 devel 发表
我也想知道~~~

;)...
发表于 2003-10-10 00:29:50 | 显示全部楼层
我用纯shell中的$RANDOM来试试看?不知道是否可行?
  1. #!/bin/ksh
  2. #
  3. set -A str a b c d e f g h i j k l m n o p q r s t u v w x y z  
  4. #建立数组str,他有26个字母元素,(用perl很简单)
  5. set -A num 0 1 2 3 4 5 6 7 8 9   
  6. #建立数组num,他有10个数字元素
  7. echo "randnumber is: ${str[$(echo $RANDOM%${#str[*]}|bc)]}\
  8. ${num[$(echo $RANDOM%${#num[*]}|bc)]}"  
  9. #解释:用RANDOM产生的随机数除以数组的个数,取模,再根据模的值取出
  10. 对应数组的值,来形成随机数
复制代码
测试:
[/home/javalee/myshell]ksh sj
randnumber is: k4
[/home/javalee/myshell]r
ksh sj
randnumber is: i2
[/home/javalee/myshell]r
ksh sj
randnumber is: l6
[/home/javalee/myshell]r
ksh sj
randnumber is: v3
[/home/javalee/myshell]r
ksh sj
randnumber is: r6
发表于 2003-10-10 10:52:07 | 显示全部楼层
[PHP]#!/bin/sh
# Last modified: 2003年10月10日 星期五 10时49分55秒 [test]

alphabeta="a b c d e f g h i j k l m n o p q r s t u v w x y z"
number="0 1 2 3 4 5 6 7 8 9"

A=($alphabeta) # save as array
N=($number)
num_a=${#A
  • } # number of ...
    num_n=${#N
  • }

    # choice now
    echo ${A[$((RANDOM%num_a))]}${N[$((RANDOM%num_n))]}[/PHP]
  • 发表于 2003-10-10 10:56:05 | 显示全部楼层
    谢谢版主。两种方法都很好。呵呵``~
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表