質問するログイン新規登録

質問編集履歴

3

修正

2019/07/16 07:38

投稿

d_neko
d_neko

スコア108

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

2

追記

2019/07/16 07:38

投稿

d_neko
d_neko

スコア108

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
- 実行した結果、1、2、3とカウント表示されることを期待したのでが、
32
+ 実行した結果、最後に一括して結果が表示され
44
- 表示されません。
45
33
 
46
- 上のページのリンクのソースのこの部分では、"wh.py"のprintの結果が表示されません。
47
-
48
34
  ```ここに言語を入力
49
- // コマンドを実行す
35
+ // 送信したいコマンドを変数に入れ
50
- Console.WriteLine("[CMD] {0}", commandString);
36
+ var commandString = "wh.py";
51
- cmd.Execute();
52
37
 
53
- // 結果変数に入れ
38
+ // コマンド作成す
54
- var stdOut = cmd.Result;
55
- var stdErr = cmd.Error;
39
+ SshCommand cmd = ssh.CreateCommand(commandString);
56
40
 
57
- // 終了ドを表示する
41
+ // コマンドを実行する
58
- Console.WriteLine("終了コード:{0}", cmd.ExitStatus);
42
+ Console.WriteLine("[CMD] {0}", commandString);
43
+ cmd.Execute();
59
44
 
60
- // 標準出力表示す
45
+ // 結果変数に入れ
61
- if (stdOut != string.Empty)
46
+ var stdOut = cmd.Result;
62
- {
47
+
63
- Console.WriteLine("標準出力:");
64
- Console.WriteLine(stdOut); ←ここで表示されない
65
- Console.WriteLine("---------");
66
- }
67
48
  ```
49
+ 上記のままだと、最後に結果が表示されます。
68
50
 
69
- このライブラリで上記のようにしのでは、"wh.py"のprintは表示されま
51
+ 最後一括て表示させるのではなくリアルタイムに表示させるにはどうすればいいのでしょうか
70
- どうすれば、途中結果が表示されるのでしょうか。

1

追記

2019/07/15 16:12

投稿

d_neko
d_neko

スコア108

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
  どうすれば、途中結果が表示されるのでしょうか。