Автор Тема: StdoutRead пустой вывод  (Прочитано 228 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн bingo [?]

  • Новичок
  • *
  • Сообщений: 8
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
StdoutRead пустой вывод
« Создано: Ноябрь 14, 2017, 21:03:47 »
Добрый вечер.
Тяжело двигаюсь в освоении скриптов.
Уперся в получение данных по StdoutRead.
Не попадает в переменную ничего, как изначально для тестов заполнял ее содержимое, так и выводится в итоге.

Код: AutoIt [Выделить]
Global $sRead = 'qwerty'
;
Local $iPID = Run(@ComSpec & 'plink -ssh -pw 12345', '', @SW_SHOW, $STDERR_CHILD + $STDOUT_CHILD)
Send("ls -al{ENTER}")
Do
$sRead &= StdoutRead($iPID)
Until @error
MsgBox($MB_SYSTEMMODAL, "Stdout Read:", $sRead)
 


Русское сообщество AutoIt

StdoutRead пустой вывод
« Отправлен: Ноябрь 14, 2017, 21:03:47 »

Оффлайн Tempo [?]

  • Осваивающий
  • **
  • Сообщений: 114
  • Репутация: 25
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: StdoutRead пустой вывод
« Ответ #1, Отправлен: Ноябрь 14, 2017, 22:02:54 »
Не попадает в переменную ничего, как изначально для тестов заполнял ее содержимое, так и выводится в итоге.

Вот что вы запускаете "C:\Windows\system32\cmd.exeplink -ssh -pw 12345"

Попробуйте просто запустить plink

Оффлайн bingo [?]

  • Новичок
  • *
  • Сообщений: 8

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: StdoutRead пустой вывод
« Ответ #2, Отправлен: Ноябрь 15, 2017, 12:18:25 »

Вот что вы запускаете "C:\Windows\system32\cmd.exeplink -ssh -pw 12345"

Попробуйте просто запустить plink

Аналогично и с командой:
Local $iPID = Run("plink -ssh -pw 12345")

Оффлайн Tempo [?]

  • Осваивающий
  • **
  • Сообщений: 114
  • Репутация: 25
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: StdoutRead пустой вывод
« Ответ #3, Отправлен: Ноябрь 15, 2017, 12:31:58 »
Код: AutoIt [Выделить]
Local $iPID = Run("plink -ssh -pw 12345", "", @SW_SHOW, $STDERR_MERGED)


Русское сообщество AutoIt

Re: StdoutRead пустой вывод
« Ответ #3 Отправлен: Ноябрь 15, 2017, 12:31:58 »

Оффлайн bingo [?]

  • Новичок
  • *
  • Сообщений: 8

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: StdoutRead пустой вывод
« Ответ #4, Отправлен: Ноябрь 15, 2017, 12:42:13 »
Уже что-то похожее выводится, но только на саму команду plink, а не "ls -al".
Т.е. вижу
Last Login;: Wed Nov...
Using username ...

А потом Unable to read from standard input: Неверный дескриптор

Оффлайн Tempo [?]

  • Осваивающий
  • **
  • Сообщений: 114
  • Репутация: 25
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: StdoutRead пустой вывод
« Ответ #5, Отправлен: Ноябрь 15, 2017, 15:19:04 »
Уже что-то похожее выводится, но только на саму команду plink, а не "ls -al".

А вы уверены что ваша команда вводится?

Оффлайн bingo [?]

  • Новичок
  • *
  • Сообщений: 8

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: StdoutRead пустой вывод
« Ответ #6, Отправлен: Ноябрь 15, 2017, 15:56:02 »
Уже что-то похожее выводится, но только на саму команду plink, а не "ls -al".

А вы уверены что ваша команда вводится?

Я ее вижу в окне plink и весь вывод от нее.

Оффлайн Tempo [?]

  • Осваивающий
  • **
  • Сообщений: 114
  • Репутация: 25
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: StdoutRead пустой вывод
« Ответ #7, Отправлен: Ноябрь 15, 2017, 16:04:15 »
Я ее вижу в окне plink и весь вывод от нее.

По какому условию вы ждете ввода команды? Или вы 1 раз читаете поток?

Русское сообщество AutoIt

Re: StdoutRead пустой вывод
« Ответ #7 Отправлен: Ноябрь 15, 2017, 16:04:15 »

Оффлайн Alofa [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1213
  • Репутация: 172
  • Пол: Мужской
  • Windows7 (x64)
    • Награды
  • Версия AutoIt: 3.3.12.0
Re: StdoutRead пустой вывод
« Ответ #8, Отправлен: Ноябрь 15, 2017, 23:32:08 »
bingo
Пример:
Код: AutoIt [Выделить]
_RunPlink(@ComSpec & ' /c plink -V') ;  -V => вывод информации о версии
_RunPlink('plink -V')

Func _RunPlink($sString)
    Local $sRead, $iPID = Run($sString, '', @SW_HIDE, $STDERR_MERGED)
    Do
        $sRead &= StdoutRead($iPID)
    Until @error
    MsgBox($MB_SYSTEMMODAL, 'Строка: "' & $sString & '"', $sRead)
EndFunc   ;==>_RunPlink


Русское сообщество AutoIt

Re: StdoutRead пустой вывод
« Ответ #8 Отправлен: Ноябрь 15, 2017, 23:32:08 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
1 Ответов
2511 Просмотров
Последний ответ Ноябрь 02, 2011, 05:50:07
от joiner
8 Ответов
4240 Просмотров
Последний ответ Март 22, 2013, 16:24:14
от beliy
7 Ответов
2090 Просмотров
Последний ответ Июнь 28, 2017, 00:27:06
от Vovsla
2 Ответов
1706 Просмотров
Последний ответ Август 13, 2014, 12:45:29
от kristow13
4 Ответов
935 Просмотров
Последний ответ Сентябрь 18, 2014, 14:08:05
от Skif_off
3 Ответов
1724 Просмотров
Последний ответ Май 07, 2015, 11:45:54
от bescom
11 Ответов
1312 Просмотров
Последний ответ Июнь 02, 2016, 16:37:50
от zumers
0 Ответов
211 Просмотров
Последний ответ Апрель 29, 2017, 11:11:02
от zergood
2 Ответов
432 Просмотров
Последний ответ Сентябрь 26, 2017, 22:09:28
от Alofa
2 Ответов
152 Просмотров
Последний ответ Ноябрь 07, 2017, 23:10:44
от dbg_ultra