Como executar comandos do Linux de fora do shell Bash no Windows 10

O Windows 10 inclui um “subsistema Windows para Linux” subjacente para executar aplicativos Linux, mas só pode ser acessado por meio do shell Bash. No entanto, existe uma maneira de executar aplicativos Linux sem primeiro iniciar uma janela Bash.

Isso é possível graças ao bash -ccomando. Use-o para executar comandos do Linux por meio do Prompt de comando e do PowerShell, ou até mesmo para criar um atalho na área de trabalho que execute um comando ou programa do Linux quando iniciado.

Atualização : se você tiver vários ambientes Linux instalados, poderá usar o comando wslconfig para escolher o ambiente Linux padrão . Também existe uma maneira de executar comandos em ambientes Linux específicos.

Como executar comandos do Linux no prompt de comando ou PowerShell

Antes de fazer isso, você precisará instalar e configurar o shell Bash do Windows 10 . Depois de fazer isso, você pode abrir uma janela Prompt de Comando e executar o seguinte comando para executar o software Linux fora de uma janela Bash:

bash -c "comando"

Por exemplo, digamos que você queira instalar o pacote emacs via apt-get. Você executaria o seguinte comando em uma janela de prompt de comando:

bash -c "sudo apt-get install emacs"

Quando você usa bash -c, o Windows inicia um shell Bash em segundo plano e passa o comando para ele. O comando será executado até ser concluído e, em seguida, encerrado, junto com o shell Bash. Qualquer saída de terminal executada pelo comando atual aparecerá diretamente na janela Prompt de Comando, em vez de uma janela Bash separada.

Recomendado:  Como configurar o sistema Wi-Fi Eero Home

Este truque também permite que você execute comandos do Linux no PowerShell, da mesma forma que você executaria um executável normal do Windows. Você pode fazer isso executando diretamente o arquivo .exe como faria em uma janela do prompt de comando ou por meio de qualquer outro método para executar executáveis ​​no PowerShell.

bash -c "uname -a"

Tal como acontece com uma janela de prompt de comando, a saída do comando aparecerá diretamente no PowerShell. Esses métodos podem ser usados ​​para adicionar comandos do Linux a um arquivo em lote ou script do PowerShell também.

Como executar comandos do Linux na caixa de diálogo Executar ou no menu Iniciar

Este truque também funciona para executar comandos da caixa de diálogo Executar, menu Iniciar ou qualquer iniciador de aplicativo de terceiros.

Por exemplo, para iniciar o vi a partir da caixa de diálogo Executar, pressione Windows + R no teclado e execute o seguinte comando:

bach -c "vi"

O editor de texto vi aparecerá em sua própria janela.

Isso também funciona para o menu Iniciar, portanto, você pode digitar o mesmo comando diretamente no menu Iniciar e pressionar Enter para executá-lo como um comando.

Como executar comandos do Linux com um atalho na área de trabalho

O bash -ccomando também possibilita o lançamento de aplicativos Linux por meio de um atalho na área de trabalho. Por exemplo, digamos que você queira iniciar o editor de texto vi por meio de um atalho na área de trabalho. Você clica com o botão direito do mouse na área de trabalho, aponta para Novo> Novo atalho e insere o seguinte destino:

bash -c "vi"

Agora você pode salvar o atalho e ele iniciará o vi quando você clicar duas vezes nele.

Recomendado:  Os melhores chuveiros inteligentes de 2023

Curiosamente, esse truque também funciona para iniciar aplicativos gráficos do Linux a partir de um atalho na área de trabalho. Instale um servidor X e configure aplicativos gráficos de desktop Linux . Você deve ser capaz de criar atalhos para iniciá-los diretamente.

No entanto, você teria que iniciá-los assim:

bash -c "DISPLAY =: 0 comando"

Embora você possa iniciar comandos do Bash de qualquer lugar no Windows, não há como executar o software ou executáveis ​​do Windows diretamente de uma janela do shell do Bash.