pt.phhsnews.com


pt.phhsnews.com / Como executar programas do Windows a partir do Bash Shell do Windows 10

Como executar programas do Windows a partir do Bash Shell do Windows 10


Na Atualização de criadores, o Bash shell do Windows 10 agora permite que você execute binários do Windows e comandos padrão do prompt de comando, diretamente do Bash. Você pode executar programas Linux e Windows do mesmo shell Bash ou até incorporar comandos do Windows em um script Bash.

O que você precisa saber

RELACIONADO: Tudo o que você pode fazer com o novo Bash Shell do Windows 10

Aqui estão alguns detalhes básicos que você precisa saber sobre esse recurso:

  • Conta de Usuário : Os programas executados no shell Bash serão executados como se tivessem sido lançados pela conta de usuário atual do Windows.
  • Permissões : esses programas terão as mesmas permissões que o processo Bash.exe. Portanto, se você quiser que esses comandos tenham acesso de Administrador, será necessário executar o shell Bash como Administrador
  • Diretório de Trabalho : os programas do Windows compartilham o mesmo “diretório de trabalho” que o shell Bash. Portanto, se você executar um comando que lista o conteúdo do diretório atual, ele listará o conteúdo do diretório de trabalho atual no shell Bash. Use o comandocdpara alterar os diretórios de trabalho.

Com isso em mente, vamos dar uma olhada em como executar um programa.

Como executar um programa do Windows

RELACIONADO: Como acessar seus arquivos Bash do Ubuntu no Windows (e sua unidade do sistema do Windows no Bash)

Para executar um programa do Windows, digite o caminho para o arquivo .exe do programa no shell Bash. Lembre-se de que sua unidade Windows C: está disponível em / mnt / c no Bash. O ambiente Bash também faz distinção entre maiúsculas e minúsculas, portanto, é necessário especificar a capitalização correta.

Digamos que você queira iniciar o utilitário Ping localizado em C: Windows System32 PING.EXE. Você executaria o seguinte comando:

/mnt/c/Windows/System32/PING.EXE

O seguinte comando não funcionaria, porque o Bash faz distinção entre maiúsculas e minúsculas:

/ mnt / c / windows /system32/ping.exe

Isso é um pouco mais complicado se o caminho contiver caracteres complexos como espaços e colchetes, como as pastas Arquivos de Programas. Você precisa “escapar” de espaços, colchetes e outros caracteres complexos prefixando-os com um caractere “”.

Por exemplo, digamos que você queira executar o programa Internet Explorer localizado em C: Arquivos de Programas (x86) Internet Explorer iexplore.exe. Você precisa executar o seguinte comando no Bash:

/ mnt / c / Programa  Arquivos   (x86 ) / Internet  Explorer / iexplore.exe

Observe o “” antes do espaço e do suporte personagens. Esses caracteres devem ser "escapados" ou Bash não perceberá que os caracteres fazem parte de um caminho de arquivo.

Como passar um argumento para um comando

O shell Bash transmite argumentos diretamente para os comandos que você executa. Por exemplo, se você quisesse pingar example.com, você executaria:

/mnt/c/Windows/System32/PING.EXE example.com

Ou, se quisesse abrir o arquivo de hosts do Windows no Bloco de Notas, você executaria:

/mnt/c/Windows/System32/notepad.exe "C: Windows System32 drivers etc hosts"

Você usa o caminho de arquivo padrão do Windows ao passar um caminho do arquivo diretamente para um programa do Windows. Isso é porque Bash passa o argumento diretamente. O Notepad.exe e outros programas do Windows esperam um caminho de arquivo do Windows

Como executar um comando interno

Alguns comandos do Windows não são arquivos .exe, mas são incorporados ao próprio prompt de comando. Por exemplo, isso inclui o comando

dirque você pode executar normalmente em um prompt de comando. Para executar esse comando, você precisa executar o bináriocmd.exeassociado ao Prompt de Comando e passar o comando como um argumento com / C, da seguinte forma:/ mnt / c / Windows /System32/cmd.exe / C command

Por exemplo, para executar o comando

dirincorporado no Prompt de Comando, você executaria o seguinte comando:/ mnt / c / Windows / System32 / cmd.exe / C dir

Como adicionar diretórios ao caminho

O ambiente Windows Services for Linux trata os executáveis ​​do Windows da mesma forma que trata os binários do Linux. Isso significa que você pode adicionar um diretório contendo arquivos .exe ao caminho e depois executá-los diretamente. Por exemplo, para adicionar o diretório System32 ao seu caminho, você executaria:

exportar PATH = $ PATH: / mnt / c / Windows / System32

Você pode executar arquivos .exe do Windows localizados diretamente na pasta System32, assim:

PING.exe example.com

notepad.exe
cmd.exe / C dir
Como canalizar a saída de um comando para outro

A saída de um comando do Windows pode ser canalizada para um comando do Linux e vice-versa. Por exemplo, você pode usar o comando

ipconfig.exe -allpara listar detalhes sobre suas interfaces de rede e enviá-las ao comandogrepdo Linux para pesquisar a saída. Por exemplo, para listar todas as informações sobre sua conexão e pesquisar por seções que correspondam a “Endereço IPv4”, você executaria:/mnt/c/Windows/System32/ipconfig.exe -all | grep "Endereço IPv4"

Esse é o processo básico. Esses comandos também funcionarão quando incorporados em um script Bash, para que você possa escrever um script Bash que incorpore os comandos do Windows e os utilitários do Linux. Se ele for executado no shell Bash, ele funcionará em um script Bash.

E, se você quiser ir para o outro lado, você pode usar o comando “bash -c” para executar comandos Bash a partir do Prompt de Comando padrão do Windows.


Como tirar o máximo proveito de seu Kwikset Kevo Smart Lock

Como tirar o máximo proveito de seu Kwikset Kevo Smart Lock

O Kwikset Kevo possui um design inteligente que permite que você simplesmente toque na trava para desbloqueá-la, mas essa não é a única característica que torna tão grande. Veja como tirar o máximo proveito do nosso cadeado inteligente Kevo. Use sua chave anterior com o Kevo RELACIONADO: Como refazer o bloqueio do SmartKey Kwikset na sua chave anterior Comprar um novo bloqueio requer o uso de novas chaves.

(how-top)

Como desmontar rapidamente unidades externas da barra de menus do macOS

Como desmontar rapidamente unidades externas da barra de menus do macOS

Se você é como eu, conecta o disco de backup do Time Machine toda vez que está na sua mesa. Você sabe que deve desmontar a unidade quando chegar a hora de pegar a estrada, mas abrir o Finder só para acertar a opção "Eject" parece uma perda de tempo. Digite Semulov. Este aplicativo leve e de código aberto adiciona um botão "Ejetar" à barra de menus do seu Mac, para que você possa desmontar qualquer unidade em apenas dois cliques.

(how-top)