各位好,有问题请教各位,先谢谢了!
问题:telnet远程执行命令,杀掉特定的进程,并删除几个目录。
我是这样用的:
command="ps -ef | grep text| grep -v grep |awk '{print "kill",$2}'|sh;cd ${HOME};rm -rf text"
(echo $login_name;sleep 1;echo $login_pwd;sleep 1;echo $command;sleep 1;exit)|telnet $host_ip > tel_res
echo $tel_res;
最后打印出:getwinsize:ioctl: A specified file does not support the ioctl system call.
我登陆到被远程的主机上去看,进程没有被杀掉,文件目录也没有删除。
请问各位,要怎么样才能实现我这个需求?
会不会是代码中"kill"中的引号与外层的引号有冲突?
如果我手动把进程杀掉,然后使用telnet删除文件目录,这样是可以的。那就是一个问题:代码中"kill"中的引号与外层的引号有冲突,这个kill的引号要用什么才行呢?
转义一下呢
command="ps -ef | grep text| grep -v grep |awk '{print \"kill\",\$2}'|sh;cd \${HOME};rm -rf text"