如何从 WSL 调用 PowerShell 脚本?

Mik*_*sta 14 windows windows-subsystem-for-linux

在我的 Windows 目录中

C:\Users\jholmes\pichak\analytics
Run Code Online (Sandbox Code Playgroud)

我有 run1.ps1 代码。我运行 wsl.exe,现在我的密码是

   /mnt/c/WINDOWS/system32
Run Code Online (Sandbox Code Playgroud)

如何指向第一个路径并执行脚本?

Abd*_*ull 12

在 WSL2 中,使用该-File选项对我有用:

powershell.exe -File path/to/script.ps1
Run Code Online (Sandbox Code Playgroud)


小智 3

有两种方法可以解决这个问题:

  1. 您可以将工作目录更改为 shell 脚本的工作目录并正常执行。为此,请按照下列步骤操作:
  • 安装相关驱动器cd /mnt/c/
  • 根据脚本的路径更改目录。
  1. 这种方法更像是我为了方便起见而使用的一种技巧。我在 Windows 存储中创建了一个文件夹,其中存储所有 Ubuntu WSL 相关文件。说,D:\Ubuntu。为了避免每次打开 WSL 时都更改工作目录,可以修改 shell 配置文件(bashrc、zshrc 等)以在最后加载相关目录。
  • 即,如果您使用 zsh 或相关配置文件,请cd /mnt/d/Ubuntu/在文件末尾添加。~/.zshrc

  • 我*真的*建议新用户(至少)远离“在启动配置中添加`cd`”的黑客行为。我从做过这个的人那里看到了太多的问题,这让他们以后感到困惑。 (2认同)