最近有位大兄弟有连续输入递增内容的需求,心血来潮帮他写了一个shell脚本

需求背景

张三想要在md文件内连续插入100张图片,一行一条,但不想一条一条的写。图片的文件名为1.jpg到100.jpg。

例如

构思

对于文件输出,我们可以用echo+重定向输出来解决。
递增的数字内容可以用let $变量 ++来增加。
重复输出则用while语句进行。
通过 if [ $变量 -gt/-lt 数值]来判断行数.

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
TIMES=1
while true
do
echo "![](//path/$TIMES.jpg)" >> 123.md
if [ $TIMES -eq 100 ] ; then
echo "生成完毕"
read -p "按ENTER键退出..." -s
exit 0
elif [ $TIMES -lt 100 ] ; then
let TIMES++
echo "已生成第$TIMES行"
fi
done

过程

我们先把变量定为1,进入while语句,通过echo输出到文件,然后通过if判断语句判断文件数(变量大小),如到达100,停止输出否则,继续运行,直至到达100。

注意

当第二行while后面为true时,会无限轮回下去,直至遇到exit 0
脚本运行到exit 0时就会直接退出,在 done后面的内容直接无效。

截图

截图

下载地址

看脸云


我也是一个新手,有什么不周到的地方请见谅,最好讲出来指点迷津,谢谢。