shell脚本,if语句太繁琐怎么写成for语句 求助

回复 收藏

比如

#touch  /root/1.txt   touch一个文本
#vi 1.txt    在文本里面写这些
  123
  234
  456
  789
  257  
#vi 2.sh   新建2.sh脚本, 变量赋值
  a=1
  b=3
  t="/root/1.txt"
  if `grep -q 1 $t`
  then
      sed -i '/^1/d' $t
      echo "$a" >>$t
  else
      echo "$a" >>$t
   fi
   if `grep -q 2 $t`
   then
       sed -i '/^2/d' $t
       echo "$b" >>$t
    else
        echo "$b" >>$t
    fi
 #cat 1.txt
     234
     456
     789
     257
     1
     3          
我想要实现的功能是将2.sh的变量值写到1.txt中.
1.判断1.txt里面有没有$a和$b的值开头的行,如果有,删除原来的行再替换成$a和$b.如果没有则直接添加进1.txt中.
2.怎么用将if判断语句改成for循环语句,实现同样的功能.

2017-03-21 07:08 举报
已邀请:

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: