Мне нужна помощь. Недавно я написал сценарий 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
Ай! Это идеально подходящее для массивов:
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
# ...