今天尝试写shell脚本,遇到了两个小问题,一不注意就会出错,而且难以查出来。
1. 由于shell局部变量全部为字符串,所以声明了var=1(不能有空格)之后,求echo
var=$var+1会返回1+1,进行转换最方便的echo
var=$[$var+1],输出2。另外看到了expr有同样作用,但
echo var=`expr $var + 1`
(运算符间必须有空格,蛋疼)
2.中文单引号“’”和tab键上面的“`”不一样,如下:
1 #!/bin/bash
2 count=10
3 for file in `ls /home/lyz/Desktop/`
4 do
5 if
[ -f "$file" ]
6
then count=`expr $count + 1`
7
echo "$file"
8
fi
9 done
10 echo "$count"
单引号不行