在cygwin中,我可以执行./script.sh args,但这会在PowerShell中的记事本中打开脚本文件。
执行它需要做什么?
答案 0 :(得分:21)
你应该把脚本作为你运行的* NIX shell的参数,相当于* NIXish
sh myscriptfile
答案 1 :(得分:21)
现在有一个"本地人" Windows 10上的解决方案,在Windows上启用Bash后,您可以通过键入bash
来输入Bash shell:
您可以像bash ./script.sh
一样运行Bash脚本,但请记住,C驱动器位于/mnt/c
,外部硬盘驱动器无法安装。因此,您可能需要稍微更改脚本,以便与Windows兼容。
此外,即使是root
,您仍然可以在/mnt
中移动文件时获得权限被拒绝,但您在root
文件系统中拥有全部/
权限。
答案 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\
和bash
从sh
开始执行。
然后
将shell文件运行为
window cmd
或bash shellscript.sh