exec使用方法

exec program

将 program 程序替代当前程序进程.

这就意味着 exec 后面再跟任何命令都是没有意义的, 因为他们永远得不到执行

===================================

可以用 exec 命令来关闭标准输入, 然后再以任何从中读取的文件重新打开

要把标准输入改变到文件, 用以下的格式的exec命令 exec < file

以后任何从标准输入读数据的命令都会从file中读取

==============================================

重定向标准输出的方法相似, 命令

exec > report

将此后所有写向标准输出的文件写入report文件.

注: 这里的 exec 不是像前面介绍的那样用来启动运行新程序的, 而是用来重新分配标准输入

和标准输出的.

如果用 exec 重新分配了标准输入, 后来又想重新分配到别处, 只需要再执行一次 exec.

如果要把标准输入重新改回终端, 可以写

exec < /dev/tty

 

 

使用的方法示例:

#!/bin/bash

 

if (( $# != 4 )); then

    echo "usage: $0 host port user passwd"

    exit 1

fi

 

host=$1

port=$2

user=$3

passwd=$4

 

inputfile=.ips.in

outputfile=.ips.out

 

rm -rf $inputfile

rm -rf $outputfile

 

mknod $inputfile p

touch $outputfile

 

exec 7<> $outputfile

exec 8<> $inputfile

 

telnet $host $port<&8 >&7 &

 

telnet_pid=$!

 

sleep 1

echo -ne $user'/n''/r' >> $inputfile

sleep 1

echo -ne $passwd'/n''/r'>> $inputfile

sleep 1

 

#tail -f $outputfile &

 

 

echo -ne "/n/r" >>$inputfile

echo -ne "/n/r" >>$inputfile

 

echo -ne ":display-ss7roam-status;/n/r" >>$inputfile

 

 

echo -ne "/n/r" >>$inputfile

echo -ne "/n/r" >>$inputfile

 

echo -ne ":display-mtp-linkloading;/n/r" >>$inputfile

 

echo -ne "/n/r" >>$inputfile

echo -ne "/n/r" >>$inputfile

 

echo -ne ":display-mtp-network:netid=all;/n/r" >>$inputfile

 

echo -ne "/n/r" >>$inputfile

echo -ne "/n/r" >>$inputfile

 

echo -ne ":display-mtp-dsp:netid=all;/n/r" >>$inputfile

 

echo -ne "/n/r" >>$inputfile

echo -ne "/n/r" >>$inputfile

 

echo -ne ":display-mtp-link:slg=all;/n/r" >>$inputfile

 

echo -ne "/n/r" >>$inputfile

echo -ne "/n/r" >>$inputfile

 

echo -ne ":watch-memoryusage;/n/r" >>$inputfile

sleep 1

 

echo -ne "/n/r" >>$inputfile

echo -ne "/n/r" >>$inputfile

echo -ne "/n/r" >>$inputfile

 

echo -ne ":watch-cpuusage:mode=1;/n/r" >>$inputfile

sleep 1

 

echo -ne "/n/r" >>$inputfile

echo -ne "/n/r" >>$inputfile

echo -ne "/n/r" >>$inputfile

 

echo -ne "exit/n/r" >>$inputfile

 

#1.get command and result

#2.remove line start with /r or Press...

#3.remove timestamp;

#4.replace xxxx> by :END

#5.replace xxxx>: by BEGIN:

#6.line contains = or ,remove spaces.

#7.replace '- ' by '-';

 

cat $outputfile |sed -n '/>:/,/>/r/p'|sed '/^[/r|Press]/d'|sed '/>:/{n;d}'|sed '/>/r$/c/:END' |sed -e 's/^.*>:/BEGIN:/g' |sed '/[=|,]/s/[ |/t]//g' 

 

#kill -9 $telnet_pid

#echo -ne ":display-parameter;/n/r" >>$inputfile

 

exit 0;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值