随机化脚本无法随机化

CheeseCatChuck

我有一个问题,这个项目没有随机化任何东西。

我的新代码:

#!/bin/bash
function ReRoll(){
    sort -R languagecodes.txt > /dev/null
    sleep 0.5
    LANG=$(head -n 1 /home/pi/GT-bash-client/languagecodes.txt)
    sleep 0.1
}
INPUT=$(zenity --entry --title="Input" --text="Please enter string to be translated.")
while [[ $X -le 10 ]]
do
    ((X++))
    ReRoll
    PTRAN=$(./translate.sh auto $LANG $INPUT)
    sleep 0.1
    echo $X
    echo $PTRAN
    INPUT=$PTRAN
    
done
DONE=$(./translate.sh auto en $INPUT) 
echo $DONE

语言代码.txt:

af
sq
am
ar
hy
az
eu
be
bn
bs
bg
ca
ceb
zh-CN
zh-TW
co
hr
cs
da
nl
en
eo
et
fi
fr
fy
gl
ka
de
el
gu
ht
ha
haw
he
hi
hmn
hu
is
ig
id
ga
it
ja
jv
kn
kk
km
rw
ko
ku
ky
lo
la
lv
lt
lb
mk
mg
ms
ml
mt
mi
mr
mn
my
ne
no
ny
or
ps
fa
pl
pt
pa
ro
ru
sm
gd
sr
st
sn
sd
si
sk
sl
so
es
su
sw
sv
tl
tg
ta
tt
te
th
tr
tk
uk
ur
ug
uz
vi
cy
xh
yi
yo
zu

翻译脚本在这里。

无论如何,当我输入“你好,我的朋友”时的输出总是:

pi@raspberrypi:~/GT-bash-client $ sudo bash TransScrambler.sh
1
Hallo daar, my vriend!
2
Hallo daar, my vriend!
3
Hallo daar, my vriend!
4
Hallo daar, my vriend!
5
Hallo daar, my vriend!
6
Hallo daar, my vriend!
7
Hallo daar, my vriend!
8
Hallo daar, my vriend!
9
Hallo daar, my vriend!
10
Hallo daar, my vriend!
11
Hallo daar, my vriend!
Hello there, my friend!
pi@raspberrypi:~/GT-bash-client $ 

知道为什么会发生这种情况以及如何解决吗?

密码学

您不会从languagecodes.txt任何地方存储无序输出您将改组的输出发送到/dev/null,它永远消失了。当您稍后将文件的头部存储到 LANG 变量中时,您只是在使用原始未混洗的文件。

将您的 ReRoll 功能更改为:

LANG=$(sort -R /home/pi/GT-bash-client/languagecodes.txt | head -1)

(不需要所有的调用sleep。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章