我有一个需要在 Windows、Linux 和 MacOS 上运行的脚本。
我知道 Windows 使用文件扩展名来确定如何运行脚本,而 *nix 将使用#!
。
我希望有足够的语法重叠,以便我可以使用 if 语句来重定向并运行特定于平台的下脚本。
本质上是这样的流程:
这是entry.ps1
假设 powershell 7+(这是 Windows 10 上的默认设置,对吧?)和 bash
#!/bin/sh <-- ignored by powershell
$SHELL = "" && & ".\main.ps1" || ./main.sh