从Windows PowerShell运行bash脚本

时间:2009-07-08 15:22:30

标签: bash powershell

在cygwin中,我可以执行./script.sh args,但这会在PowerShell中的记事本中打开脚本文件。

执行它需要做什么?

4 个答案:

答案 0 :(得分:21)

你应该把脚本作为你运行的* NIX shell的参数,相当于* NIXish

sh myscriptfile

答案 1 :(得分:21)

现在有一个"本地人" Windows 10上的解决方案,在Windows上启用Bash后,您可以通过键入bash来输入Bash shell: Bash on Windows

您可以像bash ./script.sh一样运行Bash脚本,但请记住,C驱动器位于/mnt/c,外部硬盘驱动器无法安装。因此,您可能需要稍微更改脚本,以便与Windows兼容。

此外,即使是root,您仍然可以在/mnt中移动文件时获得权限被拒绝,但您在root文件系统中拥有全部/权限。

还要确保您的shell脚本使用Unix样式格式化,否则可能会出现错误。 Example script

答案 2 :(得分:7)

如果将扩展名.SH添加到环境变量PATHEXT,则只能使用带参数的脚本名称从PowerShell运行shell脚本:

PS> .\script.sh args

如果将脚本存储在PATH环境变量中包含的目录中,则可以从任何位置运行它,并省略扩展名和路径:

PS> script args

注意:sh.exe或其他* nix shell必须与.sh扩展名相关联。

答案 3 :(得分:1)

还可以通过在Windows Server环境变量的“高级”部分中导出gitbash bash and sh的{​​{1}}来运行。

路径var中的“提前”部分,请添加C:\Program Files\git\bin\,这将使git-bash的C:\Program Files\git\bin\bashsh开始执行。

然后

将shell文件运行为

window cmdbash shellscript.sh