質問編集履歴

3

修正

2019/07/16 07:38

投稿

d_neko
d_neko

スコア108

test CHANGED
@@ -1 +1 @@
1
- C#SSHを使って途中結果を表示させたい
1
+ C#SSH.NETを使って途中結果を表示させたい
test CHANGED
File without changes

2

追記

2019/07/16 07:38

投稿

d_neko
d_neko

スコア108

test CHANGED
File without changes
test CHANGED
@@ -8,13 +8,9 @@
8
8
 
9
9
 
10
10
 
11
- C#でSSHを使ってコマンドを実行して、途中結果を表示させたいので検索しした
11
+ C#でSSHを使ってコマンドを実行して結果を表示たいと思ってい
12
12
 
13
- すると、ライブラリのSSH.NETを使うと出来そうなのがわかりました。
14
-
15
-
16
-
17
- 見つけたサイトはこれです↓
13
+ そして、検索して見つけたサイトはこれです↓
18
14
 
19
15
  https://developer.aiming-inc.com/programming/connect-mysql-and-ssh-for-csharp/
20
16
 
@@ -24,31 +20,13 @@
24
20
 
25
21
 
26
22
 
27
- そこで、上記アドレスのソースの一部分を
23
+ そこで、上記アドレスのソースの一部分を下記のようにしました。
28
24
 
29
25
 
30
26
 
31
27
  var commandString = "date";
32
28
 
33
29
 
34
-
35
- var commandString = "ls";
36
-
37
-
38
-
39
- にして試してみると、ちゃんとリストが表示されました。
40
-
41
-
42
-
43
-
44
-
45
- 次に自作コマンドを実行しました。
46
-
47
-
48
-
49
- 上記のアドレスのソース部分は
50
-
51
-
52
30
 
53
31
  var commandString = "wh.py";
54
32
 
@@ -82,58 +60,42 @@
82
60
 
83
61
 
84
62
 
85
- 実行した結果、1、2、3とカウント表示されることを期待したのでが、
63
+ 実行した結果、最後に一括して結果が表示され
86
-
87
- 表示されません。
88
-
89
-
90
-
91
- 上のページのリンクのソースのこの部分では、"wh.py"のprintの結果が表示されません。
92
64
 
93
65
 
94
66
 
95
67
  ```ここに言語を入力
96
68
 
97
- // コマンドを実行す
69
+ // 送信したいコマンドを変数に入れ
98
70
 
99
- Console.WriteLine("[CMD] {0}", commandString);
71
+ var commandString = "wh.py";
100
-
101
- cmd.Execute();
102
72
 
103
73
 
104
74
 
105
- // 結果変数に入れ
75
+ // コマンド作成す
106
76
 
107
- var stdOut = cmd.Result;
108
-
109
- var stdErr = cmd.Error;
77
+ SshCommand cmd = ssh.CreateCommand(commandString);
110
78
 
111
79
 
112
80
 
113
- // 終了ドを表示する
81
+ // コマンドを実行する
114
82
 
115
- Console.WriteLine("終了コード:{0}", cmd.ExitStatus);
83
+ Console.WriteLine("[CMD] {0}", commandString);
84
+
85
+ cmd.Execute();
116
86
 
117
87
 
118
88
 
119
- // 標準出力表示す
89
+ // 結果変数に入れ
120
90
 
121
- if (stdOut != string.Empty)
91
+ var stdOut = cmd.Result;
122
92
 
123
- {
124
93
 
125
- Console.WriteLine("標準出力:");
126
-
127
- Console.WriteLine(stdOut); ←ここで表示されない
128
-
129
- Console.WriteLine("---------");
130
-
131
- }
132
94
 
133
95
  ```
134
96
 
97
+ 上記のままだと、最後に結果が表示されます。
135
98
 
136
99
 
137
- このライブラリで上記のようにしたのでは、"wh.py"のprintは表示されません。
138
100
 
139
- どうすれば、途中結果が表示されるのでしょうか。
101
+ 最後に一括して表示させるのではなく、リアルタイムに表示させるにはどうすればいいのでしょうか。

1

追記

2019/07/15 16:12

投稿

d_neko
d_neko

スコア108

test CHANGED
File without changes
test CHANGED
@@ -1,18 +1,26 @@
1
- windowsから、Tera Termを使ってlinuxに接続して決まったコマンドを実行しています。
1
+ ~~windowsから、Tera Termを使ってlinuxに接続して決まったコマンドを実行しています。
2
2
 
3
- これをもっと簡略化できないかと考えています。
3
+ これをもっと簡略化できないかと考えています。~~
4
4
 
5
5
 
6
6
 
7
- そこで検索した見つけたのを、説明のままやってみました。
7
+ ~~そこで検索した見つけたのを、説明のままやってみました。~~
8
8
 
9
9
 
10
+
11
+ C#でSSHを使ってコマンドを実行して、途中結果を表示させたいので検索しました。
12
+
13
+ すると、ライブラリのSSH.NETを使うと出来そうなのがわかりました。
14
+
15
+
16
+
17
+ 見つけたサイトはこれです↓
10
18
 
11
19
  https://developer.aiming-inc.com/programming/connect-mysql-and-ssh-for-csharp/
12
20
 
13
21
 
14
22
 
15
- ると、どうもうくいっようです
23
+ 実際に試してみると、ページの説明のとおりの結果が出た。
16
24
 
17
25
 
18
26
 
@@ -28,7 +36,7 @@
28
36
 
29
37
 
30
38
 
31
- にしたら、ちゃんとリストが表示されました。
39
+ にして試してみると、ちゃんとリストが表示されました。
32
40
 
33
41
 
34
42
 
@@ -80,4 +88,52 @@
80
88
 
81
89
 
82
90
 
91
+ 上のページのリンクのソースのこの部分では、"wh.py"のprintの結果が表示されません。
92
+
93
+
94
+
95
+ ```ここに言語を入力
96
+
97
+ // コマンドを実行する
98
+
99
+ Console.WriteLine("[CMD] {0}", commandString);
100
+
101
+ cmd.Execute();
102
+
103
+
104
+
105
+ // 結果を変数に入れる
106
+
107
+ var stdOut = cmd.Result;
108
+
109
+ var stdErr = cmd.Error;
110
+
111
+
112
+
113
+ // 終了コードを表示する
114
+
115
+ Console.WriteLine("終了コード:{0}", cmd.ExitStatus);
116
+
117
+
118
+
119
+ // 標準出力を表示する
120
+
121
+ if (stdOut != string.Empty)
122
+
123
+ {
124
+
125
+ Console.WriteLine("標準出力:");
126
+
127
+ Console.WriteLine(stdOut); ←ここで表示されない
128
+
129
+ Console.WriteLine("---------");
130
+
131
+ }
132
+
133
+ ```
134
+
135
+
136
+
137
+ このライブラリで上記のようにしたのでは、"wh.py"のprintは表示されません。
138
+
83
139
  どうすれば、途中結果が表示されるのでしょうか。