Powershell 模块不会自动加载 Linux 容器

Vac*_*ano 3 linux powershell containers docker-container

我有一个 Powershell 模块,如下所示:

function SayHello
{
    echo "hello"
}
Run Code Online (Sandbox Code Playgroud)

我将其另存为say-hello.psm1并将其添加到 dockerfile 中,如下所示:

COPY --chmod=0755 say-hello.psm1 /root/.local/share/powershell/Modules/say-hello.psm1
Run Code Online (Sandbox Code Playgroud)

当我启动 docker 映像并运行时,SayHello它告诉我它找不到命令:

SayHello 无法识别

但是,如果我随后运行 Import-Module 命令并重试,它会起作用:

如果手动导入可以工作

我想也许我有错误的文件夹,但是当我运行时,$Env:PSModulePath我得到了/root/.local/share/powershell/Modules:/usr/local/share/powershell/Modules:/opt/microsoft/powershell/7/Modules. 根据文档,这就是模块应该放置的位置。(我把它放在第一个)

我需要做什么才能让我的 powershell 模块工作而无需手动导入?

Vac*_*ano 5

我忘记了您需要将psm1文件放在与文件同名的文件夹中(在 Modules 文件夹内)。

我这样做了,它开始工作得很好。