echo命令常用选项
echo -n: 不换行输出
-e:支持反斜线控制的字符转换
转义:
\a 发出警告声
\b 删除前一个字符
\c 最后不加上换行符号
\f 换行但光标仍旧停留在原来的位置
\n 换行且光标移至行首
\r 光标移至行首,但不换行
\t 插入tab
\v 与\f 相同
\ 插入\字符
\nnn 插入nnn(八进制)所代表的ASCII字符
示例
[root@server2 ~]# echo -e "abc\acd"
abccd
[root@server2 ~]# echo -e "abc\bcd"
abcd
[root@server2 ~]# echo -e "abc\ccd"
abc[root@server2 ~]#
[root@server2 ~]# echo -e "abc\fcd"
abc
cd
[root@server2 ~]# echo -e "abc\ncd"
abc
cd
[root@server2 ~]# echo -e "abc\rcd"
cdc
[root@server2 ~]# echo -e "abc\tcd"
abc cd
[root@server2 ~]# echo -e "abc\vcd"
abc
cd
[root@server2 ~]# echo -e "abc\\cd"
abc[root@server2 ~]#
[root@server2 ~]# echo -e "abc\044cd"
abc$cd
二重循环打印正方形
[root@server2 ~]# vim zhengfangxing.sh
#!/bin/bash
# 打印正方形
for ((i=1;i<=5;i++))
do
for ((j=1;j<=5;j++))
do
echo -n "* " 不换行输出
done
echo 换行
done
[root@server2 ~]# chmod +x zhengfangxing.sh
[root@server2 ~]# ./zhengfangxing.sh
打印矩形
#!/bin/bash
# 打印长方形
for ((i=1;i<=5;i++))
do
for ((j=1;j<=5;j++))
do
echo -n "*"
done
echo
done
打印直角三角形
左下直角
[root@server2 ~]# vim zjsjx.sh
#!/bin/bash
# 打印直角三角形
for ((i=1;i<=9;i++)) 定值行数
do
for ((j=1;j<=$i;j++)) 变量
do
echo -n "*"
done
echo
done
[root@server2 ~]# chmod +x sjx.sh
[root@server2 ~]# ./sjx.sh
右上直角
#!/bin/bash
# 打印直角三角形
for ((i=1;i<=9;i++))
do
for ((j=1;j<$i;j++))
do
echo -n " "
done
for ((k=10-$j;k>0;k--))
do
echo -n "*"
done
echo
done
左上直角
#!/bin/bash
# 打印直角三角形
for ((i=1;i<=9;i++))
do
for ((j=1;j<=10-$i;j++))
do
echo -n "*"
done
echo
done
右下直角
#!/bin/bash
# 打印直角三角形
for ((i=1;i<=9;i++))
do
for ((j=9;j>=$i;j--))
do
echo -n " "
done
for ((k=1;k<=$i;k++))
do
echo -n "*"
done
echo
done
打印等腰三角形
[root@server2 ~]# vim dy.sh
#!/bin/bash
# 打印等腰三角形
for ((i=1;i<10;i++))
do
for ((n=10;n>=i;n--))
do
echo -n " "
done
for ((m=1;m<=i;m++))
do
echo -n "* "
done
echo
done
[root@server2 ~]# chmod +x dy.sh
[root@server2 ~]# ./dy.sh
打印等腰梯形
[root@server2 ~]# vi dytx.sh
#!/bin/bash
# 打印等腰梯形
for ((i=1;i<10;i++))
do
for ((n=10;n>=i;n--))
do
echo -n " "
done
for ((m=1;m<=i;m++))
do
echo -n "**"
done
echo
done
[root@server2 ~]# chmod +x dytx.sh
[root@server2 ~]# ./dytx.sh
打印菱形
seq命令
seq 1000 起始默认是1,间隔默认也是1
seq 2 1000 间隔默认是1
seq 1 3 10 从1到10,间隔为3,结果是:1 4 7 10
seq 1 10 从1开始,到10结束,间隔为1,结果是:1 2 3 … 10
脚本
[root@server2 ~]# vi lx.sh
菱形上半部分命令
#!/bin/bash
# 打印菱形
read -p "请输入菱形边长" len
for i in `seq 1 $len`
do
for ((j=$len-1;j>=$i;j--))
do
echo -n " "
done
for ((m=1;m<=$i;m++))
do
echo -n "* "
done
echo
done
菱形下半部分命令
for i in `seq 1 $len`
do
for ((j=1;j<=$i;j++))
do
echo -n " "
done
for ((n=$len-1;n>=$i;n--))
do
echo -n "* "
done
echo
done
[root@server2 ~]# chmod =x lx.sh
[root@server2 ~]# ./lx.sh
九九乘法表
[root@server2 ~]# vim 99.sh
#!/bin/bash
# 九九乘法表
for ((i=1;i<=9;i++))
do
for ((j=1;j<=i;j++))
do
echo -ne "$j*$i=$((i*j)) \t"
done
echo
done
[root@server2 ~]# chmod +x 99.sh
[root@server2 ~]# ./99.sh