LINUX.ORG.RU

Ответ на: комментарий от Anoxemian

#!/bin/sh

max_bayan_length=3;
bayan_wait_time=0.4
function  bayan {
	local i
	echo -n '[:'
	for i in `seq 1 $1`; do
		echo -n \|
	done
	echo -n ':]'	
	z=$(($max_bayan_length-$1+4));
	for i in `seq $z`; do
		echo -n ' '
	done	
	echo -ne "\r"
}	
while `/bin/true`; do
	for i in `seq 1 $max_bayan_length`; do
		bayan $i;
		sleep $bayan_wait_time
	done
	echo -ne "\r";
	for i in `seq 1 $max_bayan_length`; do
		bayan $(($max_bayan_length-$i))
		sleep $bayan_wait_time
	done	
done	

FatBastard ★★
() автор топика
Ответ на: комментарий от FatBastard

вот патч, вроде поэстетичнее баян смотрится, имхо :)

$ diff -u bayan.sh bayan.sh.orig
--- bayan.sh    2007-07-03 08:41:48.000000000 +0000
+++ bayan.sh.orig       2007-07-03 08:40:16.000000000 +0000
@@ -1,9 +1,7 @@
 #!/bin/sh

-min_bayan_length=2;
-max_bayan_length=7;
-bayan_wait_time=0.2;
-
+max_bayan_length=3;
+bayan_wait_time=0.4
 function  bayan {
        local i
        echo -n '[:'
@@ -18,12 +16,12 @@
        echo -ne "\r"
 }
 while `/bin/true`; do
-       for i in `seq $((1+min_bayan_length)) $max_bayan_length`; do
+       for i in `seq 1 $max_bayan_length`; do
                bayan $i;
                sleep $bayan_wait_time
        done
        echo -ne "\r";
-       for i in `seq 1 $((max_bayan_length-min_bayan_length))`; do
+       for i in `seq 1 $max_bayan_length`; do
                bayan $(($max_bayan_length-$i))
                sleep $bayan_wait_time
        done

BreadFan ★★
()
Ответ на: комментарий от BreadFan

баян, как известно, в обратную сторону сжимается быстрее, вот патч относительно первого

--- bayan.sh.orig       2007-07-03 15:01:43.000000000 +0400
+++ bayan.sh    2007-07-03 15:53:54.000000000 +0400
@@ -1,7 +1,9 @@
 #!/bin/sh
+min_bayan_length=2;
+max_bayan_length=7;
+bayan_wait_time1=0.2;
+bayan_wait_time2=0.1
 
-max_bayan_length=3;
-bayan_wait_time=0.4
 function  bayan {
        local i
        echo -n '[:'
@@ -16,14 +18,14 @@
        echo -ne "\r"
 }      
 while `/bin/true`; do
-       for i in `seq 1 $max_bayan_length`; do
+       for i in `seq $((1+min_bayan_length)) $max_bayan_length`; do
                bayan $i;
-               sleep $bayan_wait_time
+               sleep $bayan_wait_time1
        done
        echo -ne "\r";
-       for i in `seq 1 $max_bayan_length`; do
+       for i in `seq 1 $((max_bayan_length-min_bayan_length))`; do
                bayan $(($max_bayan_length-$i))
-               sleep $bayan_wait_time
+               sleep $bayan_wait_time2
        done    
 done   

FatBastard ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.