bash输出数字小程序

引子

今天写作自己的blog文章的时候,遇到了一个问题,需要重复使用34次markdown语法的调用。 其实就是我需要将34幅照片插入日志(见前一篇)所以需要重复很多次,众所周知的原因,希望可以舒服的 打印出来,其实很简单的东西。但是坑爹是我选择了bash,这个语法彻底把我崩溃了,bash确实很强大,但是 相应的也十分容易编写出错。所以写了这篇日志记录一下。

bash程序


for ((i=1;i<=34;i++)); do echo -e  '!'"[tu$i](/images/howtousetime/$i.bmp) \n"; done



这程序看着很短,但是确实处处要出错,我希望的输出是:

tu1

出错点总结

1

变量i要用$i来引用

2

感叹号!的使用,!在bash中是特殊字符。这里,我们必须把这个功能去掉,具体的方法就是使用单引号

3

使用单引号的bug在于,你的$i必须在双引号环境中才有用,所以直接只对于!使用了单引号,其余都是双引号

4

echo加上参数-e和-n是为了在行尾换行。

#总结 bash确实很不同,下次使用的时候,大家小心!

Written on October 30, 2012