Запутанный код, запрос помощи

Запутанный код, запрос помощи

Мне нужна помощь. Недавно я пишу скрипт 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
        # ...

Связанный контент