Note the use of $@ vs “$*” in the next function that automatically saves an archive of a telnet session. Also note that I remove spaces and colons. (Colons because they screw with opening files directly at line numbers).
telnet_log() { curtime=$(date -Iseconds | tr : .) args=$(echo "$*" | tr ' ' '_') telnet $@ | tee $HOME/telnetlog/$args\_${curtime::-5}.log } last_telnet_log() { ls -d1t $HOME/telnetlog/* | head -n 1 }
Of course if you do that, you'll want to occasionally (via cronjob?) delete old archives.
find $HOME/telnetlog/ -type f -mtime +6 -delete
Netcat (nc) send the file locally, and nc receive the file at the remote device.
function flash-roku { target=$1 filename=$2 port="8081" nc -w 5 $target $port < $filename & { echo \ "cd /tmp && nc -l -p $port > tempfile.txt && " \ "tail tempfile.txt"; \ sleep 10; } | telnet $target }
send "ls --color=never $FNAME\r" expect { -re "\n$FNAME" { expect ":/ #" send "stat $FNAME\r" expect ":/ #" send "echo $FNAME was already there.\r" } "No such file or directory" { expect ":/ #" send "ls ~\r" expect ":/ #" send "echo $FNAME was not there.\r" } } expect ":/ #"
Keywords: telnet, linux, nc, netcat