簡體   English   中英

無法在 Linux 遙控器上通過 Posh-SSH 執行 cd

[英]Cant do cd via Posh-SSH on a Linux remote

我制作了一個使用 Posh-SSH 連接到 linux pc 的 PowerShell 腳本。 該腳本工作正常,但我發現由於某種原因我無法通過目錄進行 cd。

這就是我將命令傳遞給 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 問題或文檔,但都沒有解決這個問題。

為什么會這樣? 謝謝

感謝帖子中的評論和一些測試,我發現了這一點:

當我運行這些命令時,cd 實際上正在執行它的工作,這就是為什么命令“cd Desktop; ls”顯示了來自桌面的正確信息。

我發現命令總是在 /root 中運行。 因此,“ls”每次都會顯示 /root 文件,即使我在不​​同的調用中預先運行了 cd 命令。

希望這些信息對未來的人有所幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM