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
################################################################################
阅读(1876) | 评论(0) | 转发(0) |