我正在尝试建立一个类,以便我可以ssh到远程服务器(我有IP,用户名和密码),然后发送一个命令,如"echo"test""然后接收输出(例如, "测试").我正在使用JSch来做这件事,但我不明白该怎么做.
import com.jcraft.jsch.*;
public class ConnectSSH {
public int execute (String command) {
JSch jsch = new JSch();
String ip = "00.00.00.00;
String user = "root";
String pass = "password";
int port = 22;
try {
Session session = jsch.getSession(user, ip, port);
session.setPassword(pass);
session.connect();
...
Run Code Online (Sandbox Code Playgroud)
我不知道该怎么做,连接后我卡住了.
任何意见是极大的赞赏.
我没有运气找到一种方法来按照我想要的方式进行这项工作,所以如果有人能提供帮助,我将不胜感激。
我想要的是能够在终端上做到这一点:
> racket
然后能够输入 Racket 命令并让它们编译。喜欢,
> (+ 1 2)
> 3
Run Code Online (Sandbox Code Playgroud)
希望一些命令像
> racket myprog.rkt
> 3
Run Code Online (Sandbox Code Playgroud)
在哪里 myprog.rkt只是包含(+ 1 2).
如果这是一个明显的问题,我是新手,很抱歉,但我只是不知道如何使它起作用。
谢谢。
我正在构想一个Sublime Text 2插件,它允许我在主窗口中键入一些类似的Racket代码
#lang racket
(display "Hello, World")
Run Code Online (Sandbox Code Playgroud)
然后按⌘+ R将运行该Racket代码(这肯定可以通过运行racket myfile.rkt并获取输出的简单脚本完成)并在Sublime Text 2底部的控制台中打印输出.我还想添加控制台中的REPL,否则评估Racket代码.我真的想在Windows和Mac上获得工作版本.
像这样的东西:

我的问题是我不知道如何开始这个,有人可以指出我正确的方向吗?这是我真的想要完成的事:)
感谢您的帮助,非常感谢.
我对Pointers和内存模型相当新,所以如果这很明显,请原谅我,但我正在编写一个程序来测试反转列表的函数反转.无论如何,我有三个文件,C5.c,C5-driver.c和C5.h. 他们按顺序在这里:
#include "C5.h"
#include <stdlib.h>
#include <stdio.h>
struct node *cons(int fst, struct node *rst) {
struct node *new = malloc(sizeof(struct node));
if (new == NULL) {
printf("cons: out of memory\n");
abort();
}
(*new).first = fst; /* same as (*new).first = fst */
(*new).rest = rst;
return new;
}
struct node *reverse(struct node *lst) {
struct node *ans = NULL;
while (lst != NULL) {
ans = cons((*lst).first, ans);
lst = (*lst).rest;
}
return ans;
}
void free_list(struct node *lst) …Run Code Online (Sandbox Code Playgroud)