Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3397136
  • 博文数量: 631
  • 博客积分: 10716
  • 博客等级: 上将
  • 技术积分: 8397
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-01 22:35
文章分类

全部博文(631)

文章存档

2020年(2)

2019年(22)

2018年(4)

2017年(37)

2016年(22)

2015年(1)

2013年(12)

2012年(20)

2011年(19)

2010年(20)

2009年(282)

2008年(190)

分类:

2008-05-29 12:32:15

1、if语句

2、交互选择

3、循环判断

4、数值运算符

5、…………


if语句格式:
  if [ 条件 ]
  then
      command
  else
      command
  fi


交互选择(N可以为*)
  echo -e "提示语言,后边有光标提供输入"
  read VAR
  case $VAR in
   Y)
  command
  ;;
   N)
  command
  ;;
  esac


对条件进行循环检查,成立则处理,否则继续检查
  a=1
  while [ "$a" = "1" ]
  do
  fileno=`ls -l /list/filename* |wc -l`
  if [ "$fileno" = "10" ]
    then
      a=10
      command
    else
      a=1
      sleep 300
  fi
  done

grep -v www filename  过滤不包含
grep www filename  过滤包含
uniq -u 过滤没有相同行
uniq -d 过滤具有相同行
sort 排序
paste -d";" filename1 filename2  把文件并列合并并且以;间隔

if [ "a" = "10" ] #a=10
   [ "a" -ne "10" ] 同上一行
   [ -s filename ] 文件大小大于0
   -s 文件大小大于0返回真
   -d 是一个目录是返回真
   -e 文件或目录存在返回真
   -g 存在是SGID返回真
   -h 文件是连接文件返回真
   -k 文件是粘滞位返回真
   -r 文件或目录存在并可读时返回真
   -w 文件或目录存在并可写时返回真
   -u 文件是SUID返回真
   -x 文件是可执行的返回真
  

   -eq 等于
   -ne 不等于
   -lt 小于
   -le 小于等于
   -gt 大于
   -ge 大于等于


2*3+4|bc  计算前面的数据
ping -w 2   测试2两次
对上一次指令结果判断
$?=0  为真
$?=1  为假


  

给SHELL后边加参数
XXXX=`echo | wc -c`
cat $HOME/list/file.txt 1>/dev/null 2>/dev/null
OK=$?
if [ "" = "" ] || [ "$XXXX" -lt "4" ] || [ "$OK" -ne "0" ]
then
  echo "参数没有输入,输入位数不等于3,file.txt不存在,请重新输入"
  exit
fi

一个循环检查
 line=1
 for i in `cat bb`
 do
   qq=`echo "scale=2;$i*100" | bc | awk -F. ''{print }''`
   if [ "$qq" -ge "75" ]
   then
        sed -n "$line"p temp.1     >> bad.1
   fi
  line=`expr $line + 1` ###每次加1
done
阅读(1294) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~