2010-09-30 16 views
6

Telnet ile uzak bir sunucuya bağlanmalı ve orada dosya girişi göndermek istiyorum.Telnet'e komutlar nasıl gönderilir ve oturum açık bırakılır

Bu bir işlemci öykünücüsüdür (MCF68k), bu yüzden dosyayı sunucuya kopyalayamıyorum ve buradan çalışamıyorum.

böyle girdi gönderebilirsiniz:

telnet host.name < input.file

başarıyla sunucuya veri iletimi ve istediğim her saklanan komutları çalıştırır hangi. Bununla birlikte, etkileşimli kalmak için telnet oturumuna ihtiyacım var (sonlandırılmıyor).

Bir dosyaya nasıl komut gönderirim, ardından stdin denetimini terminale geri döndürürüm ve etkileşimli oturumu açık tutar mı?

Çok Geç Düzenleme:

Bu expect kullanılarak yapılabilir düşünüyorum:

adam bekliyoruz: http://www.manpagez.com/man/1/expect/

piton sarıcı: http://www.noah.org/wiki/pexpect

+0

Ekran yardımcı programı, ihtiyacınız olan şeyi yapabilir. http://www.gnu.org/software/screen/ – aschepler

+1

Bu yoldan bir şey yok. Önceden etkileşimli girdinin programlama olarak kabul edilmesi dışında süper kullanıcı olacaktır. –

+1

@Will, SSS'yi gerçekten okudun mu? "En iyi Yığın Taşması sorularının içinde bir miktar kaynak kodu var, ama eğer sorunuz genellikle programcıların kullandığı yazılım araçlarını kapsarsa ... o zaman sorunuzu sormak için doğru yerdesiniz!" –

cevap

2

cat input.file - | telnet host.name çalışır mı?

+0

Maalesef, hayır. Bu, cat input.file gibi diğer komutlar için çalışıyor gibi görünüyor - | xxd'. Telnet bağlantısının 'getch' ya da bazı eşdeğerini kullandığı anlaşılıyor. –

+0

Tahriş edici. Elimden başka bir şey düşünemiyorum üzgünüm. –

+0

Bu, stdin'in temizlenmesi nedeniyle çalışmayabilir ve belki de girişin tty'den olmaması mümkün olabilir mi? Ne acı. –

İlgili konular