tee命令的shell script实现


#!/bin/sh

# Almost same function as tee command
#
# Author
#   Hansel <hansel@163.com>
# Date 2011-10-11

APPEND=0
IGNORE_INT=0

#--------------------------------------------------------------
usage() {
  cat << END
Usage: $PROG_NAME [options] <FILE>
    Copy standard input to FILE, and also to standard output.
options:
    -a          append to the given FILE, do not overwrite
    -i          ignore interrupt signals 
    -h          show this help
END
}

#-------------------- main -------------------------------------
PROG_NAME=`basename $0`

# get command line arguments
while getopts "aih" options; do
  case "$options" in
    a) APPEND=1 ;;
    i) IGNORE_INT=1 ;;
    h) usage; exit 0;;
    \?)     usage; exit -1;;
  esac
done
shift $((OPTIND - 1))

if [ $# -le 0 ];then
  echo "please give a file name for output."
  usage
  exit -1;
fi

FILE=$1

if [ $IGNORE_INT -eq 1 ]; then
  trap "" SIGINT
fi

#clear content if FILE is exited and not append mode
if [ $APPEND -eq 0 ]; then
  echo -n > $FILE;
fi

while read line; do
  echo $line;
  echo $line >> $FILE;
done;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值