
Мне нужна помощь. Недавно я пишу скрипт bash, в котором у меня 26 наборов переменных. Я застрял на этой части, с которой мне нужна помощь. Я заметил, когда вы устанавливаете Ubuntu, чтобы проверить этот сайт, если вам нужна помощь, и теперь я это делаю. По сути, у меня есть переменные, помеченные как l#a, где число может быть любым числом от 1 до 26. Вот что я хочу сделать: он зацикливает диапазон, как вы считаете от 1 до 10, там всего 9 цифр. Но в этом случае я хочу, чтобы он считал так, как будто их 64. Скажем так.
Начиная с "l1a", он начинает с 0 и продолжает добавлять 1, пока не дойдет до 64, когда он дойдет до 64, он ждет до момента, когда он сможет тикать до 65, но вместо того, чтобы идти так далеко, он проверяет значение преемника (в данном случае "l2a"), и если оно не 64, он тикает его на 1 и устанавливает l1a в 0, если это так, он проверяет следующий, чтобы увидеть, 64 это или нет, если нет, он тикает его на 1 и устанавливает все до этого в 0, если это так, он проверяет следующий, и так далее. Когда он находит тот, который не 64, он тикает его, и значение каждого предшественника изменяется обратно на 0. Но, если он доходит до l26a, и это 64, как и все остальные цифры, он заканчивает код.
КОД:
l1a=0
l2a=0
l3a=0
l4a=0
l5a=0
l6a=0
l7a=0
l8a=0
l9a=0
l10a=0
l11a=0
l12a=0
l13a=0
l14a=0
l15a=0
l16a=0
l17a=0
l18a=0
l19a=0
l20a=0
l21a=0
l22a=0
l23a=0
l24a=0
l25a=0
l26a=0
l1b="0"
l2b="0"
l3b="0"
l4b="0"
l5b="0"
l6b="0"
l7b="0"
l8b="0"
l9b="0"
l10b="0"
l11b="0"
l12b="0"
l13b="0"
l14b="0"
l15b="0"
l16b="0"
l17b="0"
l18b="0"
l19b="0"
l20b="0"
l21b="0"
l22b="0"
l23b="0"
l24b="0"
l25b="0"
l26b="0"
n=1
n2=0
p=1
let n2 = n + 1
l=0
u10="_"
u11="a"
u12="b"
u13="c"
u14="d"
u15="e"
u16="f"
u17="g"
u18="h"
u19="i"
u20="j"
u21="k"
u22="l"
u23="m"
u24="n"
u25="o"
u26="p"
u27="q"
u28="r"
u29="s"
u30="t"
u31="u"
u32="v"
u33="w"
u34="x"
u35="y"
u36="z"
u37="A"
u38="B"
u39="C"
u40="D"
u41="E"
u42="F"
u43="G"
u44="H"
u45="G"
u46="H"
u47="I"
u48="J"
u49="K"
u50="L"
u51="M"
u52="N"
u53="O"
u54="P"
u55="Q"
u56="R"
u57="S"
u58="T"
u59="U"
u60="V"
u61="W"
u62="X"
u63="Y"
u64="Z"
while true; do
cd /home/eddy/Pictures/MCSkins/Auto
let n = 1
if [ "$l" -lt "10" ]; then
let l"$n"b = l"$n"a
else
let l"$n"b = u"$l"
fi
if [ "$l" -le "64" ]; then
let l = l + 1
else
if [ "$l+$p" -le "64" ]; then
let
решение1
Ой! Это идеально подходит для массивов:
declare -a la lb
for n in {1..26}; do
la[$n]=0
lb[$n]="0"
done
declare -a u=(
[10]="_" [11]="a" [12]="b" [13]="c" [14]="d" [15]="e" [16]="f" [17]="g"
[18]="h" [19]="i" [20]="j" [21]="k" [22]="l" [23]="m" [24]="n" [25]="o"
[26]="p" [27]="q" [28]="r" [29]="s" [30]="t" [31]="u" [32]="v" [33]="w"
[34]="x" [35]="y" [36]="z" [37]="A" [38]="B" [39]="C" [40]="D" [41]="E"
[42]="F" [43]="G" [44]="H" [45]="G" [46]="H" [47]="I" [48]="J" [49]="K"
[50]="L" [51]="M" [52]="N" [53]="O" [54]="P" [55]="Q" [56]="R" [57]="S"
[58]="T" [59]="U" [60]="V" [61]="W" [62]="X" [63]="Y" [64]="Z"
)
declare -i n
declare -i n2
declare -i l
declare -i p=1
cd /home/eddy/Pictures/MCSkins/Auto
while true; do
n=1
if (( $l < 10 )); then
lb[$n]=${la[$n]}
else
lb[$n]=${u[$l]}
fi
if (( $l <= 64 )); then
((l++))
else
if (( $l + $p <= 64 )); then
# ...