質問編集履歴
3
修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
C#
|
1
|
+
C#のSSH.NETを使って途中結果を表示させたい
|
body
CHANGED
File without changes
|
2
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -3,27 +3,16 @@
|
|
3
3
|
|
4
4
|
~~そこで検索した見つけたのを、説明のままやってみました。~~
|
5
5
|
|
6
|
-
C#でSSHを使ってコマンドを実行して
|
6
|
+
C#でSSHを使ってコマンドを実行して結果を表示したいと思っています。
|
7
|
-
すると、ライブラリのSSH.NETを使うと出来そうなのがわかりました。
|
8
|
-
|
9
|
-
見つけたサイトはこれです↓
|
7
|
+
そして、検索して見つけたサイトはこれです↓
|
10
8
|
https://developer.aiming-inc.com/programming/connect-mysql-and-ssh-for-csharp/
|
11
9
|
|
12
10
|
実際に試してみると、ページの説明のとおりの結果が出ました。
|
13
11
|
|
14
|
-
そこで、上記アドレスのソースの一部分を
|
12
|
+
そこで、上記アドレスのソースの一部分を下記のようにしました。
|
15
13
|
|
16
14
|
var commandString = "date";
|
17
15
|
↓
|
18
|
-
var commandString = "ls";
|
19
|
-
|
20
|
-
にして試してみると、ちゃんとリストが表示されました。
|
21
|
-
|
22
|
-
|
23
|
-
次に自作コマンドを実行しました。
|
24
|
-
|
25
|
-
上記のアドレスのソース部分は
|
26
|
-
|
27
16
|
var commandString = "wh.py";
|
28
17
|
|
29
18
|
そのソースは
|
@@ -40,31 +29,23 @@
|
|
40
29
|
|
41
30
|
こんな感じです。
|
42
31
|
|
43
|
-
実行した結果、
|
32
|
+
実行した結果、最後に一括して結果が表示されます。
|
44
|
-
表示されません。
|
45
33
|
|
46
|
-
上のページのリンクのソースのこの部分では、"wh.py"のprintの結果が表示されません。
|
47
|
-
|
48
34
|
```ここに言語を入力
|
49
|
-
// コマンドを
|
35
|
+
// 送信したいコマンドを変数に入れる
|
50
|
-
|
36
|
+
var commandString = "wh.py";
|
51
|
-
cmd.Execute();
|
52
37
|
|
53
|
-
|
38
|
+
// コマンドを作成する
|
54
|
-
var stdOut = cmd.Result;
|
55
|
-
|
39
|
+
SshCommand cmd = ssh.CreateCommand(commandString);
|
56
40
|
|
57
|
-
|
41
|
+
// コマンドを実行する
|
58
|
-
|
42
|
+
Console.WriteLine("[CMD] {0}", commandString);
|
43
|
+
cmd.Execute();
|
59
44
|
|
60
|
-
|
45
|
+
// 結果を変数に入れる
|
61
|
-
|
46
|
+
var stdOut = cmd.Result;
|
62
|
-
|
47
|
+
|
63
|
-
Console.WriteLine("標準出力:");
|
64
|
-
Console.WriteLine(stdOut); ←ここで表示されない
|
65
|
-
Console.WriteLine("---------");
|
66
|
-
}
|
67
48
|
```
|
49
|
+
上記のままだと、最後に結果が表示されます。
|
68
50
|
|
69
|
-
|
51
|
+
最後に一括して表示させるのではなく、リアルタイムに表示させるにはどうすればいいのでしょうか。
|
70
|
-
どうすれば、途中結果が表示されるのでしょうか。
|
1
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,11 +1,15 @@
|
|
1
|
-
windowsから、Tera Termを使ってlinuxに接続して決まったコマンドを実行しています。
|
1
|
+
~~windowsから、Tera Termを使ってlinuxに接続して決まったコマンドを実行しています。
|
2
|
-
これをもっと簡略化できないかと考えています。
|
2
|
+
これをもっと簡略化できないかと考えています。~~
|
3
3
|
|
4
|
-
そこで検索した見つけたのを、説明のままやってみました。
|
4
|
+
~~そこで検索した見つけたのを、説明のままやってみました。~~
|
5
5
|
|
6
|
+
C#でSSHを使ってコマンドを実行して、途中結果を表示させたいので検索しました。
|
7
|
+
すると、ライブラリのSSH.NETを使うと出来そうなのがわかりました。
|
8
|
+
|
9
|
+
見つけたサイトはこれです↓
|
6
10
|
https://developer.aiming-inc.com/programming/connect-mysql-and-ssh-for-csharp/
|
7
11
|
|
8
|
-
|
12
|
+
実際に試してみると、ページの説明のとおりの結果が出ました。
|
9
13
|
|
10
14
|
そこで、上記アドレスのソースの一部分を
|
11
15
|
|
@@ -13,7 +17,7 @@
|
|
13
17
|
↓
|
14
18
|
var commandString = "ls";
|
15
19
|
|
16
|
-
にし
|
20
|
+
にして試してみると、ちゃんとリストが表示されました。
|
17
21
|
|
18
22
|
|
19
23
|
次に自作コマンドを実行しました。
|
@@ -39,4 +43,28 @@
|
|
39
43
|
実行した結果、1、2、3とカウント表示されることを期待したのですが、
|
40
44
|
表示されません。
|
41
45
|
|
46
|
+
上のページのリンクのソースのこの部分では、"wh.py"のprintの結果が表示されません。
|
47
|
+
|
48
|
+
```ここに言語を入力
|
49
|
+
// コマンドを実行する
|
50
|
+
Console.WriteLine("[CMD] {0}", commandString);
|
51
|
+
cmd.Execute();
|
52
|
+
|
53
|
+
// 結果を変数に入れる
|
54
|
+
var stdOut = cmd.Result;
|
55
|
+
var stdErr = cmd.Error;
|
56
|
+
|
57
|
+
// 終了コードを表示する
|
58
|
+
Console.WriteLine("終了コード:{0}", cmd.ExitStatus);
|
59
|
+
|
60
|
+
// 標準出力を表示する
|
61
|
+
if (stdOut != string.Empty)
|
62
|
+
{
|
63
|
+
Console.WriteLine("標準出力:");
|
64
|
+
Console.WriteLine(stdOut); ←ここで表示されない
|
65
|
+
Console.WriteLine("---------");
|
66
|
+
}
|
67
|
+
```
|
68
|
+
|
69
|
+
このライブラリで上記のようにしたのでは、"wh.py"のprintは表示されません。
|
42
70
|
どうすれば、途中結果が表示されるのでしょうか。
|