Chinaunix首页 | 论坛 | 博客
  • 博客访问: 191746
  • 博文数量: 76
  • 博客积分: 2231
  • 博客等级: 大尉
  • 技术积分: 826
  • 用 户 组: 普通用户
  • 注册时间: 2011-10-27 09:15
文章分类

全部博文(76)

文章存档

2011年(76)

分类: LINUX

2011-11-25 17:46:27


tee

[UNIX 从管道行业借来的主意.]
这是一个重定向操作, 但是有些不同. 就像管道中的"三通"一样, 这个命令可以将命令或
者管道命令的输出抽出到一个文件中,而且并不影响结果. 当你想将一个正在运行的进程
的输出保存到文件中时, 或者为了debug 而保存输出记录的时候, 这个命令就非常有用了.
(重定向)
|----> to file
|
==========================|====================
command ---> command ---> |tee ---> command ---> ---> output of pipe
===============================================
1 cat listfile* | sort | tee check.file | uniq > result.file
(在对排序的结果进行 uniq (去掉重复行) 之前,文件 check.file 中保存了排过序的
"listfiles".)
既保存到文件,又想在屏幕上看到就要使用tee

################################################################################
################################################################################

#!/bin/bash
for((i=0;i<3;i++))
do
        ls
        if [ $? != 0 ]
        then
                sleep 1
                continue
        fi

        ls
        if [ $? != 0 ]
        then
                sleep 5
                continue
        fi
        sleep 5
        break
done
echo $i
执行1次$?=0,break 退出循环
如果有不成功的最多执行3次

for ((n=0;n<5;n++))
do
    ls
    if [ $? != 0 ]
    then
        if [ $n != 4 ]
        then
            sleep 5
            continue #保证是执行完了5次循环后,依然是失败,再echo失败信息
        fi
        echo "Failed"  
    fi
done
################################################################################

阅读(1497) | 评论(0) | 转发(0) |
0

上一篇:函数

下一篇:eval2

给主人留下些什么吧!~~