版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文首发于我的个人网站: https://hewanyue.com/
本文作者: Hechao
本文链接: https://hewanyue.com/blog/for循环实现的小脚本/
用for循环写了个小脚本,可以输出不同大小的图案,能力有限,输出了一个不太规则的字符图案,希望可以早日写出一个脚本可以自动填充放大任何ASCII图案。
效果图如下:
脚本如下:
#!/bin/bash
read -p "please input the size :" n
[ "$n" -ge 0 ] 2>/dev/null || { echo "please input a right num!";exit 10;}
mkdir -p ~/best/best
N=`echo $n-1|bc`
J=`echo $N/2+1|bc`
K=`echo $N/4+1|bc`
L=`echo $N/5|bc`
#第一行
echo -e '88888\c' >~/best/best.f1
for i in $(seq $N);do
echo -e '888\c' >>~/best/best.f1
done
for i in $(seq $L);do
echo -e '88\c' >>~/best/best.f1
done
echo '888ba' >>~/best/best.f1
#第二行
echo -e '8\c' >~/best/best.f2
for i in $(seq $L);do
echo -e '8\c' >>~/best/best.f2
done
echo -e '8 \c' >>~/best/best.f2
for i in $(seq $N);do
echo -e ' \c' >>~/best/best.f2
done
echo -e ' "8\c' >>~/best/best.f2
for i in $(seq $L);do
echo -e '8\c' >>~/best/best.f2
done
echo -e 'b \c' >>~/best/best.f2
for i in $(seq $N);do
echo -e ' \c' >>~/best/best.f2
done
echo ',d' >>~/best/best.f2
#第三行
echo -e '8\c' >~/best/best.f3
for i in $(seq $L);do
echo -e '8\c' >>~/best/best.f3
done
echo -e '8 \c' >>~/best/best.f3
for i in $(seq $N);do
echo -e ' \c' >>~/best/best.f3
done
echo -e ' "8\c' >>~/best/best.f3
for i in $(seq $L);do
echo -e '8\c' >>~/best/best.f3
done
echo -e 'P \c' >>~/best/best.f3
for i in $(seq $N);do
echo -e ' \c' >>~/best/best.f3
done
echo '88' >>~/best/best.f3
#第四行
echo -e '8\c' >~/best/best.f4
for i in $(seq $L);do
echo -e '8\c' >>~/best/best.f4
done
echo -e '8aaa\c' >>~/best/best.f4
for i in $(seq $N);do
echo -e 'aaa\c' >>~/best/best.f4
done
echo -e 'aaa8\c' >>~/best/best.f4
for i in $(seq $L);do
echo -e '8\c' >>~/best/best.f4
done
echo -e 'P'"'"' ,adP\c' >>~/best/best.f4
for i in $(seq $N);do
echo -e 'PP\c' >>~/best/best.f4
done
echo -e 'PYba, ,adP\c' >>~/best/best.f4
for i in $(seq $N);do
echo -e 'PP\c' >>~/best/best.f4
done
echo -e 'PYba, MM\c' >>~/best/best.f4
for i in $(seq $N);do
echo -e 'M\c' >>~/best/best.f4
done
echo -e '88MM\c' >>~/best/best.f4
for i in $(seq $N);do
echo -e 'M\c' >>~/best/best.f4
done
echo >>~/best/best.f4
#第五行
echo -e '8\c' >~/best/best.f5
for i in $(seq $L);do
echo -e '8\c' >>~/best/best.f5
done
echo -e '8 \c' >>~/best/best.f5
for i in $(seq $N);do
echo -e ' \c' >>~/best/best.f5
done
echo -e ' 8\c' >>~/best/best.f5
for i in $(seq $L);do
echo -e '8\c' >>~/best/best.f5
done
echo -e 'b, a8P \c' >>~/best/best.f5
for i in $(seq $N);do
echo -e ' \c' >>~/best/best.f5
done
echo -e ' `8 I8[ \c' >>~/best/best.f5
for i in $(seq $N);do
echo -e ' \c' >>~/best/best.f5
done
echo -e ' "'"'"' \c' >>~/best/best.f5
for i in $(seq $N);do
echo -e ' \c' >>~/best/best.f5
done
echo -e ' 88' >>~/best/best.f5
#第六行
echo -e '8\c' >~/best/best.f6
for i in $(seq $L);do
echo -e '8\c' >>~/best/best.f6
done
echo -e '8 \c' >>~/best/best.f6
for i in $(seq $N);do
echo -e ' \c' >>~/best/best.f6
done
echo -e ' `8\c' >>~/best/best.f6
for i in $(seq $L);do
echo -e '8\c' >>~/best/best.f6
done
echo -e 'b 8PP""\c' >>~/best/best.f6
for i in $(seq $N);do
echo -e '""\c' >>~/best/best.f6
done
echo -e '"""`'"'"' `"Y8\c' >>~/best/best.f6
for i in $(seq $N);do
echo -e '88\c' >>~/best/best.f6
done
echo -e 'ba, \c' >>~/best/best.f6
for i in $(seq $N);do
echo -e ' \c' >>~/best/best.f6
done
echo -e ' 88\c' >>~/best/best.f6
echo >>~/best/best.f6
#第七行
echo -e '8\c' >~/best/best.f7
for i in $(seq $L);do
echo -e '8\c' >>~/best/best.f7
done
echo -e '8 \c' >>~/best/best.f7
for i in $(seq $N);do
echo -e ' \c' >>~/best/best.f7
done
echo -e ' a8\c' >>~/best/best.f7
for i in $(seq $L);do
echo -e '8\c' >>~/best/best.f7
done
echo -e 'P "8b, \c' >>~/best/best.f7
for i in $(seq $N);do
echo -e ' \c' >>~/best/best.f7
done
echo -e ' ,aa aa \c' >>~/best/best.f7
for i in $(seq $N);do
echo -e ' \c' >>~/best/best.f7
done
echo -e ' ]8I \c' >>~/best/best.f7
for i in $(seq $N);do
echo -e ' \c' >>~/best/best.f7
done
echo -e ' 88,' >>~/best/best.f7
#第八行
echo -e '88888\c' >~/best/best.f8
for i in $(seq $N);do
echo -e '888\c' >>~/best/best.f8
done
for i in $(seq $L);do
echo -e '88\c' >>~/best/best.f8
done
echo -e '888P" `"Ybb\c' >>~/best/best.f8
for i in $(seq $N);do
echo -e 'oo\c' >>~/best/best.f8
done
echo -e 'd8"'"'"' `"Ybb\c' >>~/best/best.f8
for i in $(seq $N);do
echo -e 'oo\c' >>~/best/best.f8
done
echo -e 'dP"'"'"' \c' >>~/best/best.f8
for i in $(seq $N);do
echo -e ' \c' >>~/best/best.f8
done
echo -e ' "Y888\c' >>~/best/best.f8
for i in $(seq $N);do
echo -e '8\c' >>~/best/best.f8
done
echo >>~/best/best.f8
for j in $(seq $K);do
cat ~/best/best.f1
done
for j in $(seq $J);do
cat ~/best/best.f2
done
for j in $(seq $J);do
cat ~/best/best.f3
done
for j in $(seq $K);do
cat ~/best/best.f4
done
for j in $(seq $J);do
cat ~/best/best.f5
done
for j in $(seq $K);do
cat ~/best/best.f6
done
for j in $(seq $J);do
cat ~/best/best.f7
done
for j in $(seq $K);do
cat ~/best/best.f8
done
\rm -rf ~/best/best
脚本写的太复杂,可读性太差,等日后水平提升再来改进,留存!