创建脚本cmd.sh,用于输入telnet的用户与密码,以及生成远端需要执行的命令
#!/bin/sh
# need a sign to detect whether the telnet has terminated
if [ -z "${MY_SIGN}" ];
then
exit 1
fi
# remove old sign
rm -rf ${MY_SIGN}
sleep 1
echo "lphu"
sleep 2
echo "1"
sleep 3
cat << EOF
cat >/dev/shm/2.sh << EOF2
#!/bin/sh
echo "hello world1"
sleep 10
echo "hello world2"
sleep 1
exit
EOF2
EOF
echo "source /dev/shm/2.sh"
# detect sign
while [ ! -f ${MY_SIGN} ];
do
sleep 1
done
执行命令
MY_SIGN=/tmp/sign; (sh cmd.sh ) | (telnet localhost; touch ${MY_SIGN})