Totuși, am găsit acest script interesant care atrage zăpadă în interiorul terminalului dvs....
Aș dori să am o opțiune de a tasta „q” în orice moment pentru a ieși din buclă.
Asta am;
LINES=$(tput lines)
COLUMNS=$(tput cols)
declara -A fulgi de nea
declara -A last flakes
clar
funcția move_flake() {
i="$1"
dacă [ "${fulgi de zăpadă[$i]}" = "" ] || [ "${snowflakes[$i]}" = "$LINES" ]; atunci
fulgi de nea[$i]=0
altfel
if [ "${lastflakes[$i]}" != "" ]; atunci
printf "\033[%s;%sH \033[1;1H " ${lastflakes[$i]} $i
fi
fi
printf „\033[%s;%sH*\033[1;1H” ${fulgi de zăpadă[$i]} $i
lastflakes[$i]=${fulgi de zăpadă[$i]}
fulgi de zăpadă[$i]=$((${fulgi de zăpadă[$i]}+1))
}
in timp ce :
do
i=$(($RANDOM % $COLUMNS))
muta_fulg $i
pentru x în „${!lastflakes[@]}”
do
move_flake „$x”
Terminat
somn 0.1
Terminat
asta am încercat să adaug;
echo „Tastați „q” pentru a ieși”
în timp ce citește -n1 -r -p "doriți să părăsiți scriptul?"
do
dacă [[ $REPLY == q ]];
atunci
pauză;
altfel
#tot ceea ce
fi
Terminat
l-a adăugat în interiorul funcției, dar cereți doar „q” la început.
apoi am încercat să adauge scriptul real în bucla de ieșire și trage doar un fulg de zăpadă, apoi întreb din nou dacă vreau să ies....
Ai idee cum să faci asta să funcționeze?