- 论坛徽章:
- 0
|
这个问题是用于一个脚本的,脚本实现的目的:telnet 到某个ip,查找init进程后kill掉。要telnet的机器是个嵌入式的系统,很多命令是没有的。
#!/bin/bash
( sleep 5;echo "xxxx";sleep 2;echo "xxxx";sleep 2 ;echo "ps -ef";sleep 2 ) | telnet xxx.xxx.xxx.xxx > aa.txt
#grep 'init' aa.txt|grep -v "init.d" |awk '{print $1}'
PID=$(grep 'init' aa.txt|grep -v "init.d" |awk '{print $1}'|tr '/n' ' ')
( sleep 5;echo "xxxx";sleep 2;echo "xxxx";sleep 2 ;echo "kill $PID";sleep 2 ) | telnet xxx.xxx.xxx.xxx
执行后的结果:
Trying xxx.xxx.xxx.xxx...
Connected to xxx.xxx.xxx.xxx.
Escape character is '^]'.
login: xxxx
Password:
[: not found
# kill 1
# 20
20: not found
# Connection closed by foreign host.
脚本中PID已经是1 20,设想执行kill 1 20,但执行kill命令的时候执行的是kill 1;20。
[ 本帖最后由 tianxiang 于 2009-4-7 14:56 编辑 ] |
|