代码之家  ›  专栏  ›  技术社区  ›  Lansorian

PowerShell shell脚本运行窗口自动关闭:启动进程vs/

  •  1
  • Lansorian  · 技术社区  · 7 年前

    假设我有一个shell脚本 myscript.sh 在当前目录中。

    两者 Start-Process myscript.sh ./myscript.sh

    如果我选择 ./myscript.sh文件 Start-Process 不关闭新窗口。

    我想知道为什么,如果有办法改变它,因为 ./ 终究要比 启动进程

    编辑: 下面是运行脚本后PS打开的bash。我相信这是一场git狂欢? enter image description here

    编辑: 问题解决了,或者它自己解决了。。。

    1 回复  |  直到 7 年前
        1
  •  2
  •   mklement0    7 年前

    PowerShell本身无法执行 .sh Windows shell )告诉它如何打开这些文件。

    Git Bash公司 a Git installation on Windows .

    不 ./myscript.sh Start-Process ./myscript.sh 异步 使用Bash在 ,即MINGW64控制台窗口。


    通常,扩展名未在中列出的任何文件 $env:PATHEXT

    用要执行的脚本的路径调用的Bash shell 自动退出 要执行的脚本终止后,也会关闭运行它的窗口。

    & $env:ProgramFiles\Git\git-bash.exe -c './myscript.sh; read -n 1 -p \"Press a key to exit.\"'
    

    异步 然而,执行;得到 执行-也就是说,要等到Bash窗口关闭,必须将上述操作与 Start-Process -Wait :

    Start-Process -Wait $env:ProgramFiles\Git\git-bash.exe -Args '-c', './myscript.sh; read -n 1 -p \"Press a key to exit.\"'
    
    推荐文章