0

提前致谢:

我正在尝试使用 Notepad++ 登录 UNIX 系统。我正在使用 NPPExec 控制台来执行此操作,并且登录过程有效……有点。我使用 NPPExec 来执行这个名为“sasunix.sh”的脚本:

"C:\userblah\username\Desktop\plink.exe" -load "SUN4" -l myloginname -pw mypassword

如您所见,我正在使用 Putty 的命令行程序“plink.exe”来发送命令;“SUN4”是我正在使用的会话配置文件。问题是,下一个屏幕让我登录(成功),但继续询问我的密码(这是登录过程的一部分),然后是我的终端仿真设置的请求(对我来说,这个是'xterm')。

问题:我将在脚本中添加哪些额外的行以在 UNIX 系统上执行此输入序列(即单独输入它们并每次按“ENTER”):

1.) 密码 2.) xterm 3.) sas -nodms -nonews

我认为这归结为对如何在 NotePad++ 和 NPPExec 控制台窗口之间传递命令的误解。在任何时候,如果我按“F6”,就会弹出一个提示,说“警告:控制台进程仍在运行......”。此消息框提示允许我输入一行,然后将其发送到控制台...但是如何将一系列这些输入放入脚本中?

4

1 回答 1

0

您现在可能已经解决了这个问题,但我已经完成了以下操作

  1. 一个 Windows 批处理脚本,它根据目录路径使用 unix 命令创建文件

    @ECHO OFF
    
    :: store input variable
    
    set str=%1
    
    :: remove C:\ or Z:\ etc
    
    set str=%str:~3%
    
    :: replace \ with /
    
    set str=%str:\=/%
    
    :: append cd command
    
    set str1=cd
    
    set str=%str1% %str%
    
    echo.%str%
    
    :: make
    
    echo make clean
    
    echo make all
    
  2. 将 NppExec 插件安装到 Notepad++

  3. 将 *.bat 脚本和 plink.exe 放在 Notepad++ 程序目录中

  4. 创建 NppExec 命令

    // This line calls the bat file and creates a file tempcmd.sh with unix commands in it
    "$(NPP_DIRECTORY)\unix_make_all.bat" $(CURRENT_DIRECTORY) >tempcmd.sh`
    
    
     // This line connects to a remote machine and runs all the commands stored in tempcmd.sh
     "$(NPP_DIRECTORY)\plink.exe" -ssh -2 -l username -pw password 192.168.000.000 -m "$(NPP_DIRECTORY)\tempcmd.sh"
    
  5. 使用 NppExec 选项我保存上述命令并在宏菜单中放置一个快捷方式

于 2013-05-22T10:19:12.777 回答