
도움이 필요해요. 저는 최근에 26개의 변수 세트가 있는 bash 스크립트를 코딩하고 있습니다. 도움이 필요한 부분에서 막혔습니다. 도움이 필요하면 이 웹사이트를 확인하기 위해 Ubuntu를 설치할 때 알아차렸는데, 지금은 그렇게 하고 있습니다. 기본적으로 l#a라는 라벨이 붙은 변수가 있으며 숫자는 1~26입니다. 내가 하고 싶은 것은 이것이다: 1부터 10까지 세는 것과 마찬가지로 범위를 반복하며, 숫자는 9개뿐입니다. 하지만 여기서는 64개가 있는 것처럼 세고 싶습니다. 이렇게 놓겠습니다.
"l1a"부터 시작해서 0부터 시작해서 64가 될 때까지 계속 1을 더하고, 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
# ...