#!/bin/bash
##定义全局变量 CastID|TelphoneNumber|UserID
CastID=''
TelphoneNumber='1'
UserID=''
##要求1)长度为1-32位;2)字符串组成也有特定要求
createCastID()
{
Arr=(0 1 2 3 4 5 6 7 8 9 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 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 @ . - _)
#获取Arr里元素个数,一共66个,则最后一共元素"_"的索引是65
ArrLength=${#Arr[*]}
##Times是指字符串长度,RANDOM%20是获取[0,20)区间的一个随机整数,RANDOM%20+1就是获取[1,21)之间的数(即[1,20]区间),然后循环获取对应长度字符串
Times=$((RANDOM%20+1))
for i in $(seq 1 $Times)
do
Index=$((RANDOM%$ArrLength))
CastID=$CastID${Arr[$Index]}
done
}
##创建电话号码,11位数字,第一位是1,则0-9里随机取10个即可,RANDOM%10是指从[0-10)左闭右开随机取一个数当做Arr数组的索引(下标)
createTelphoneNumber()
{
Arr=(0 1 2 3 4 5 6 7 8 9 )
for i in $(seq 1 10)
do
Index=$((RANDOM%10))
TelphoneNumber=$TelphoneNumber${Arr[$Index]}
done
}
createUserID()
{
Arr=(0 1 2 3 4 5 6 7 8 9 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 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 @ . - _)
#获取Arr里元素个数,一共66个,则最后一共元素"_"的索引是65
ArrLength=${#Arr[*]}
##Times是指字符串长度,RANDOM%32是获取[0,32)区间的一个随机整数,RANDOM%20+1就是获取[1,33)之间的数(即[1,32]区间),然后循环获取对应长度字符串
Times=$((RANDOM%32+1))
for i in $(seq 1 $Times)
do
Index=$((RANDOM%$ArrLength))
UserID=$UserID${Arr[$Index]}
done
}
##main
for i in $(seq 1 $1)
do
createCastID
createTelphoneNumber
createUserID
echo "$CastID|$TelphoneNumber|$UserID"
echo "$CastID|$TelphoneNumber|$UserID" > $CastID.txt
CastID=''
TelphoneNumber='1'
UserID=''
done
Shell 生成特定格式的文件
最新推荐文章于 2023-11-08 18:15:00 发布