0

我被困在这里,我真的可以使用你的帮助。这是我的情况。

我期待创建一个可以使用 telnet 访问 unix 服务器的批处理脚本。在这里,unix 服务器会询问用户名/密码。在对用户进行身份验证后,我想对特定文件执行一些操作,例如 chown 。

这就是我想做的事情:

    telnet
    open xyz.abc.com
    username
    password

    command 1
    command 2
    command 3
    exit 

在哪里

xyz.abc.com is the unix server where i want to connect.
username and password are the credentials to access this server 
command 1,command 2,command 3 are the commands i want to run in the server.

我的问题是我不能使用 SSH。它应该从文件中获取所有数据,而不是提示用户输入数据,并且应该作为自动脚本运行。

4

2 回答 2

2

这是我创建的 .bat 文件,用于 telnet 到服务器,更改文件权限,然后将文件 ftp 到我的 PC 并打开它。希望它会帮助你。变量文件名在那里,因为我每次都登录并移动到相同的目录名。您可以将其更改为提示,以便用户可以输入他们想要 cd 到的位置。如果您有任何问题,请告诉我。

:: This will telnet to the server, change the permissions, 
:: download the file, and then open it from your PC. 

:: Add your username, password, servername, and file path to the file.
:: I have not tested the server name with an IP address.

:: Note - telnetcmd.dat and ftpcmd.dat are temp files used to hold commands

@echo off
SET username=
SET password=
SET servername=
SET filepath=

set /p id="Enter the file name: " %=%

echo user %username%> telnetcmd.dat
echo %password%>> telnetcmd.dat
echo cd %filepath%>> telnetcmd.dat
echo SITE chmod 777 %id%>> telnetcmd.dat
echo exit>> telnetcmd.dat
telnet %servername% < telnetcmd.dat


echo user %username%> ftpcmd.dat
echo %password%>> ftpcmd.dat
echo cd %filepath%>> ftpcmd.dat
echo get %id%>> ftpcmd.dat
echo quit>> ftpcmd.dat

ftp -n -s:ftpcmd.dat %servername%

SET mypath=%~dp0
%mypath%%id%

del ftpcmd.dat
del telnetcmd.dat
于 2013-04-10T16:44:54.160 回答
0

退房期待。上面的Thie正是它的设计目的。

Expect 是一个 Unix 自动化和测试工具,由 Don Libes 作为 Tcl 脚本语言的扩展编写,用于 telnet、ftp、passwd、fsck、rlogin、tip、ssh 等交互式应用程序。它使用 Unix 伪终端透明地包装子进程,允许通过终端访问的任意应用程序的自动化。

于 2013-01-31T12:45:40.137 回答