Bash matrix 脚本
[总点击:438次]
2009年12月18日
RT
根据骨头兄滴大作改编。

代码(单行):
p(){printf "\033[%d;%dH\033[32m%c\033[m" $1 $2 "$3"};clear;N=20;for i in `seq 1 $N 2`; do x[$i]=$((RANDOM%LINES+1));y[$i]=$((RANDOM%COLUMNS+1));done;chars=({0..9} {a..z} {A..Z} '*' '&' '^' '%' '$' '#' '@' '~' '<' '>' '?' '+');while :; do for i in `seq $N`;do ran_char=${chars[$RANDOM % ${#chars[@]}]};p ${x[$i]} ${y[$i]} $ran_char;((x[$i]++));if [ ${x[$i]} -ge $LINES ]; then for j in `seq $LINES`;do p $j ${y[$i]} " ";done;x[$i]=$((RANDOM%LINES+1));y[$i]=$((RANDOM%COLUMNS+1));fi;done;sleep .02;done
代码(多行, 多行代码须用 . script.sh 的方式运行,不然会出错)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | p(){ printf "\033[%d;%dH\033[32m%c\033[m" $1 $2 "$3" } clear N=20 for i in `seq 1 $N 2`; do x[$i]=$((RANDOM%LINES+1)) y[$i]=$((RANDOM%COLUMNS+1)) done chars=({0..9} {a..z} {A..Z} '*' '&' '^' '%' '$' '#' '@' '~' '<' '>' '?' '+') while :; do for i in `seq $N`; do ran_char=${chars[$RANDOM % ${#chars[@]}]} p ${x[$i]} ${y[$i]} $ran_char ((x[$i]++)) if [ ${x[$i]} -ge $LINES ]; then for j in `seq $LINES`; do p $j ${y[$i]} " " done x[$i]=$((RANDOM%LINES+1)) y[$i]=$((RANDOM%COLUMNS+1)) fi done sleep .02 done |
巧了,前几天刚刚写了一个,4行Python语句,呵呵
http://www.2maomao.com/blog/several-python-scripts-wrote-recently/
bash: 在未预料的“{printf”附近出现语法错误
Martix 不是只有0和1往下掉吗?附上之前我的版本:
额,引擎是你的(所以叫 powered by bones7456 嘛),我做了下效果增强哈。
@halida
额,你确定是用的bash?
@半瓶墨水
你这个效果有点诡异哦,呵呵