Не могу сделать CD через Posh-SSH на удаленном Linux - PullRequest
0 голосов
/ 08 июня 2018

Я создал скрипт PowerShell, который подключается к компьютеру с Linux с помощью Posh-SSH.Сценарий работает нормально, но я обнаружил, что по какой-то причине я не могу пройти через каталоги.

Вот так я передаю команды сеансу Posh-SSH:

$input = Read-Host "AutoSSH>"
$result = Invoke-SSHCommand -SessionId 0 -Command $input
$result.Output

Сценарий сделан такчто SessionId 0 является единственно возможным активным в данный момент, а $ result просто выводит вывод лучше, чем Posh-SHH.Я пробовал ls, служебные команды (такие как apache2 start / status) и другие с ожидаемыми результатами.

Но когда я пытаюсь CD, это не работает.Вот как я пытаюсь и что я получаю в своих тестах:

Invoke-SSHCommand -SessionId 0 -Command "ls"

Host       : 192.168.xx.xxx
Output     : {asd.txt, Desktop, Documents, Downloads...}
ExitStatus : 0

Invoke-SSHCommand -SessionId 0 -Command "cd Desktop"

Host       : 192.168.xx.xxx
Output     : {}
ExitStatus : 0

Invoke-SSHCommand -SessionId 0 -Command "ls"

Host       : 192.168.xx.xxx
Output     : {asd.txt, Desktop, Documents, Downloads...}
ExitStatus : 0

Я уже прочитал много форумов, вопросов Posh-SSH или документов без ответа на эту проблему.

почемуэто происходит?Спасибо

1 Ответ

0 голосов
/ 09 июня 2018

Благодаря комментариям в посте и некоторому тестированию я нашел это:

Когда я запускал команды, компакт-диск фактически выполнял свою работу, и поэтому команда «Рабочий стол CD; ls» отображала правильноеинформация с рабочего стола.

Я обнаружил, что команды всегда выполняются в / root.Таким образом, «ls» собирался показывать файлы / root каждый раз, даже если я предварительно запустил команду cd в другом вызове.

Надеюсь, эта информация поможет кому-то в будущем!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...