Desde que a interoperabilidade do Windows Linux começou a funcionar, agora você pode chamar:
cmd.exe /C start <file>
A maioria dos sistemas fornece um comando open
(alternativamente conhecido como start
, cygstart
, xdg-open
etc.) que abre um arquivo no aplicativo "padrão" do ambiente de área de trabalho, o que quer que seja.
Por exemplo, do Powershell quando eu digito:
PS> start form.pdf
O documento aparece aberto no Edge.
O Bash-on-Ubuntu-on-Windows pode fazer isso?
Isto depende se você quer A) lançar um programa linux dentro do WSL ou B) você quer iniciar um programa do windows a partir de um prompt do bash.
Se B), então sim, se você instalar o cygwin / bash. Por exemplo, instale git for windows e você tem um sistema rodando sob windows com bash. Então você pode apenas executar o início, na verdade, ele é incluído como um script:
$ cat /usr/bin/start
#!/usr/bin/env bash
# Copyright (C) 2014, Alexey Pavlov
# mailto:[email protected]
# This file is part of Minimal SYStem version 2.
# https://sourceforge.net/p/msys2/wiki/MSYS2%20installation/
# File: start
cmd //c start "${@//&/^&}"
Se A), então, fica muito mais difícil, especialmente se você quiser iniciar um programa Linux para exibir um arquivo .pdf em uma janela GUI. Observe que o Windows sabe associar um aplicativo padrão para abrir um arquivo pdf, mas o WSL não possui as informações. Portanto, mesmo se você obtivesse uma Área de trabalho em execução no WSL , seria necessário associar um aplicativo GUI do Linux para abrir o arquivo pdf .
Note para esclarecer, dentro do WSL você executa executáveis Linux não executáveis do Windows:
(WSL):~# file /bin/gzip
/bin/gzip: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=68cc3c090405cf6d40e97d2ff58085fd26940602, stripped
(WSL):~# file /mnt/c/Program\ Files/Internet\ Explorer/iexplore.exe
/mnt/c/Program Files/Internet Explorer/iexplore.exe: PE32+ executable (GUI) x86-64, for MS Windows
(WSL):~# /mnt/c/Program\ Files/Internet\ Explorer/iexplore.exe
bash: /mnt/c/Program Files/Internet Explorer/iexplore.exe: cannot execute binary file: Exec format error
A WSL tem interoperabilidade do Windows-Linux em outubro , então eu acho que você deve ser capaz de usar o Windows ' start
diretamente no Bash, assim como você fez no Powershell.
Apenas chame-o com start.exe