diff --git a/README.md b/README.md index a19a236..0621899 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,9 @@ curl https://raw.githubusercontent.com/sergiolepore/ChristBASHTree/master/tree-E # Spanish version curl https://raw.githubusercontent.com/sergiolepore/ChristBASHTree/master/tree-ES.sh | bash + +# Russian version +curl https://raw.githubusercontent.com/nixscript/ChristBASHTree/master/tree-RU.sh | bash ``` Via Wget: @@ -24,6 +27,9 @@ wget -qO- https://raw.githubusercontent.com/sergiolepore/ChristBASHTree/master/t # Spanish version wget -qO- https://raw.githubusercontent.com/sergiolepore/ChristBASHTree/master/tree-ES.sh | bash + +# Russian version +wget -qO- https://raw.githubusercontent.com/nixscript/ChristBASHTree/master/tree-RU.sh | bash ``` Docker: diff --git a/tree-RU.sh b/tree-RU.sh new file mode 100644 index 0000000..f83db07 --- /dev/null +++ b/tree-RU.sh @@ -0,0 +1,72 @@ +#!/bin/bash +trap "tput reset; tput cnorm; exit" 2 +clear +tput civis +lin=2 +col=$(($(tput cols) / 2)) +c=$((col-1)) +est=$((c-2)) +color=0 +tput setaf 2; tput bold + +# Tree +for ((i=1; i<20; i+=2)) +{ + tput cup $lin $col + for ((j=1; j<=i; j++)) + { + echo -n \* + } + let lin++ + let col-- +} + +tput sgr0; tput setaf 3 + +# Trunk +for ((i=1; i<=2; i++)) +{ + tput cup $((lin++)) $c + echo 'mWm' +} +new_year=$(date +'%Y') +let new_year++ +tput setaf 1; tput bold +tput cup $lin $((c - 6)); echo "С НОВЫМ ГОДОМ!" +tput cup $((lin + 1)) $((c - 10)); echo "И хорошего КОДА в $new_year" +let c++ +k=1 + +# Lights and decorations +while true; do + for ((i=1; i<=35; i++)) { + # Turn off the lights + [ $k -gt 1 ] && { + tput setaf 2; tput bold + tput cup ${line[$[k-1]$i]} ${column[$[k-1]$i]}; echo \* + unset line[$[k-1]$i]; unset column[$[k-1]$i] # Array cleanup + } + + li=$((RANDOM % 9 + 3)) + start=$((c-li+2)) + co=$((RANDOM % (li-2) * 2 + 1 + start)) + tput setaf $color; tput bold # Switch colors + tput cup $li $co + echo o + line[$k$i]=$li + column[$k$i]=$co + color=$(((color+1)%8)) + # Flashing text + sh=1 + let c-- + for l in К О Д А + do + tput cup $((lin+1)) $((c+sh)) + echo $l + let sh++ + sleep 0.01 + done + let c++ + } + k=$((k % 2 + 1)) +done