代码: 全选
#!/bin/bash
#echo -n '输入要创建的文本名:'
#read v_file_name
echo -n '输入需要的行数:'
read v_number_line
for i in $(seq $v_number_line);do
for ia in $(seq 80);do
a=$(($RANDOM%92+35))
if [[ $a -lt 40 ]];then # 允许 * + , 字符。
a=" "
else
a=$(echo "obase=8;$a" |bc)
a='\'0$a
a=$(echo -e "$a")
fi
c=$c$a
done
echo -n "$i> 字节数: "
echo ${#c}
echo $c
c=
done
124> 字节数: 80
Qx;U@wiD^V oFeZ|p6mt>Zc{hLuy1dr[s-(TZPM]Ttx23g`><</K<Ac25O+IS;K{aR^*M:l hjgH2s=x
125> 字节数: 80
Lr@wz`I0XU }EC/JLosmbW{4^eeB- I{Ju,V]tWGhKVO:Wg1c9 gWU ys~~f,<~|32MOZ)M+1dRAvDm9
126> 字节数: 80
[q,R0V-J0 0010_01_00000091_1100_0_2010_03_07_06_06_58_new.txt 0010_01_00000091_1100_1_2010_03_07_09_06_58_new.txt 0010_01_00000091_1100_1_2010_03_07_10_06_58_new.txt 1.txt abs.txt cj随机词文本.sh Desktop Documents Downloads examples.desktop hello hello2 hello2.c hello3 hello3.c hello.c iedict.iso me Music mye n Pictures pr.sh Public r2 rb.sh rs.sh shell字体颜色 Templates Videos VirtualBox VMs 安装postgresql iiz9]a\4p6ZA4^B}zo`P)p0Hy6zi>>q-EPCRT3,CRv C{Rp 1k_e.|n=yNS5F5.HNv(v
127> 字节数: 80
I Im_mMZ?>]8>}/uY[=fzg<zo*P<RuYr|ESSxac~y0?2RVQ-QBfeFmrKb xZ+}BM_O~aOsuP-w`jK;X`
128> 字节数: 80
N{ 0i1oKZgn1|Ee ^PQ (U@iIAuKp122VzhYm*BDJ i5Z5P )3f1z~vq7AH+iB[}4u9PJ{zA<o]l^mGR
***************注意第 126 行*************** 发疯了!****************************
如果把这句代码 if [[ $a -lt 40 ]];then # 允许 * + , 字符。
改为 if [[ $a -lt 40 || ($a -gt 41 && $a -lt 44) ]];then # 即不允许 * + , 字符。
输出就会正常!
非常严重,因为代码完全没有错误, 查疯了也找不到毛病。