Skrip Shell untuk telnet dan jalankan perintah

Skrip shell telah direka bentuk yang mempunyai ciri-ciri telnet automatik dan melaksanakan arahan untuk mesin lain, dengan itu mengakhiri sesi telnet tanpa apa-apa jenis interaksi dari pengguna. Pengguna hanya perlu menjalankan skrip shell atau memanggil fungsi dari skrip lain. Ini digunakan secara meluas untuk Linux, tetapi untuk sistem UNIX, seseorang memerlukan pemasangan TCL dan INSTALL terlebih dahulu. Terdapat direktori berasingan untuk memasang perintah Harapan. Perintah tertentu digunakan untuk menyembunyikan perbualan di antara mesin lain dan skrip shell di Linux. Alamat, nama pengguna dan kata laluan ditugaskan semasa memanggil skrip. Alamat IP diperlukan untuk pengisytiharan shell, selepas itu perintah run yang akan dijalankan akan menandakan akhir sesi telnet.

Isu

Saya telah membuat skrip shell yang boleh telnet secara automatik dan menjalankan arahan pada mesin lain dan menamatkan sesi telnet tanpa interaksi dari pengguna; pengguna hanya menjalankan skrip atau memanggilnya dari skrip lain.

Tetapi anda perlu memasang pakej EXPECT dan TCL pada sistem Unix anda.

Skrip mengandungi arahan berikut:

#! / usr / local / bin / expect -f #### / usr / local / bin / expect adalah directory where expect installed

log_user 0 #### perintah ini digunakan untuk menyembunyikan perbualan di antara skrip dan mesin yang lain

tetapkan alamat [lindex $ argv 0] ### tetapkan parameter berlalu pertama ketika memanggil skrip ke alamat $

tetapkan nama pengguna [lindex $ argv 1] ### tetapkan parameter berlalu ke-2 sambil memanggil skrip ke $ nama pengguna

tetapkan kata laluan [lindex $ argv 2] ​​### tetapkan parameter lulus ke-3 sambil memanggil skrip ke $ kata laluan

menelurkan telnet $ {address} ### mulailah sesi telnet ke mesin dengan IP = alamat $

### mulakan perbualan dengan mesin:

menjangkakan "log masuk:"

hantar - "$ {username} \ r"

menjangkakan "Kata Laluan:"

hantar - "$ {password} \ r"

mengharapkan "$"

hantar - "#! / bin / ksh \ r" ### mengisytiharkan shell untuk digunakan (pilihan)

mengharapkan "$"

hantar - "### taipkan arahannya yang anda hendak laksanakan"

mengharapkan "$"

hantar - "keluar" ### tamatkan sesi telnet dan keluar dari skrip

Untuk melaksanakan skrip ini, saya menaip:

$ expect_script "address" "username" "password" ### nama skrip adalah "expect_script"

Tetapi sebelum anda memanggil skrip yang dijangkakan, anda harus membuat skrip menjangka dapat dieksekusi, dan ini boleh dilakukan dengan menaip:

$ chmod + x expect_script

Penyelesaian

Cuba ini:

 #! / usr / local / bin / mengharapkan telnet menjangkakan mengharapkan "log masuk:" hantar "\ n" mengharapkan "Kata laluan:" hantarkan " ltr \ n "? (jika anda tidak memberi \ n maka ia akan menunggu tindak balas anda atau anda perlu mengetik masuk secara manual). berinteraksi 

Bagaimana untuk melaksanakan arahan "mengharapkan" mengharapkan -f

Ex: mengharapkan -f .expect

Catatan

Terima kasih kepada ZooZoo untuk tip ini di forum.

Artikel Sebelumnya Artikel Seterusnya

Tip-Tip Utama