1、定义变量一定不要有空格
a="hello" 正确
a = "hello" 错误
2、脚本里要执行命令直接执行就可以
cd /data/log
ls
cat a|head -3
cat a|grep "hello"|head -2 >>b #将结果保存到b文件
3、脚本里要将命令返回值保存到一个变量,命令需要用反单引号引起来(Esc下面~那个键)
a=`cat a|grep "hello"|head -2` #反单引号引起来代表先执行命令
4、函数:函数返回值不能大于255
numOfMatch(){
echo `cat $1|grep "$2"|wc -l`
return 5 #不能大于255
}
numOfMatch $log $caller_sign #这句就执行echo,打印出1367:共有1367符合条件的行
caller_num=$? #$?的结果就是return的结果
echo "$caller_num" #打印出5
aaa=`numOfMatch $log $caller_sign` #将函数echo的结果赋值给aaa
echo $aaa #这句就执行echo,打印出1367:共有1367符合条件的行
bbb=$(numOfMatch $log $caller_sign) #$()在shell里就是执行命令,同反单引号,所以与上面aaa作用相同:将函数echo的结果赋值给bbb
echo $bbb #这句就执行echo,打印出1367:共有1367符合条件的行