假设我使用此安装程序在远程 Windows 10 计算机上下载并安装 Git-SCM:
https://github.com/git-for-windows/git/releases/download/v2.33.1.windows.1/PortableGit-2.33.1-64-bit.7z.exe
我将此 exe 安装文件解压到计算机 myserver 上的目录 C:\GitPortable。这意味着在这台计算机上,我可以通过输入以下内容从 powershell 启动 bash:
PS> $env:path = "C:\PortableGit\usr\bin;$env:path"
PS> bash
dude@myserver ~
$
$ # now i'm at a BASH shell prompt!
现在,谈谈我的问题。我想从网络上的另一台计算机输入 PSSession,并从远程交互式 powershell 会话启动 BASH shell。但是,即使 bash.exe 是一个命令行程序,它也不起作用。示例:
PS> Enter-PSSession -Computer MyServer
[myServer]: PS> $env:path = "C:\PortableGit\usr\bin;$env:path"
[myServer]: PS> bash
<NO OUTPUT HERE?>
[myServer]: PS> cd C:\PortableGit\usr\bin
[myServer]: PS> dir bash.exe
-a---- 8/24/2021 6:24 AM 1963639 bash.exe
[myServer]: PS> .\bash.exe
<NO OUTPUT HERE?>
[myServer]: PS>
但是,如果我输入“--help”,bash 就可以工作:
[myServer]: PS> bash --help
GNU bash, version 4.4.23(1)-release-(x86_64-pc-msys)
Usage: /usr/bin/bash [GNU long option] [option] ...
/usr/bin/bash [GNU long option] [option] script-file ...
GNU long options:
--debug
--debugger
--dump-po-strings
...
我确实需要从 Enter-PSSession 进行交互式 bash shell 才能工作。有没有什么解决方法可以让交互式 bash shell 进行远程工作?