我有一个问题,这个项目没有随机化任何东西。
我的新代码:
#!/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] 删除。
我来说两句