Questão Existe uma maneira de executar um comando Bash do CMD?


Eu quero executar um comando no CMD para que ele seja executado no Bash.

Por exemplo, open bash.exe "cd .." e isso deve abrir o Bash, rodar cd... (Estou ciente de que meu exemplo não funciona).

Quaisquer pensamentos e idéias?


0


origem


Isso ajuda? stackoverflow.com/questions/17302977/… - InterLinked


Respostas:


Eu quero executar um comando no CMD para que ele seja executado no Bash.

Usar wsl.exe:

Executar ferramentas do Linux a partir de uma linha de comando do Windows

Executar binários do Linux a partir do prompt de comando do Windows (CMD ou    PowerShell) usando wsl.exe <command>.

Binários invocados desta maneira:

  • Use o mesmo diretório de trabalho que o atual CMD ou PowerShell pronto.
  • Executar como o usuário padrão do WSL.
  • Tenha os mesmos direitos administrativos do Windows que o processo de chamada e o terminal.

Por exemplo:

C:\temp> wsl ls -la
<- contents of C:\temp ->

O comando do Linux seguindo wsl.exe é tratado como qualquer comando executado   na WSL. Coisas como sudo, tubulação e redirecionamento de arquivos funcionam.

Nota:

Se você estiver executando a Atualização para criadores ou Atualização de aniversário, pule para o Seção de Criadores / Atualização de Aniversário.

Fonte Interoperabilidade do Windows com o Linux | Microsoft Docs


0



Mas cd ainda não funcionará independentemente, uma vez que apenas altera o diretório de trabalho do processo atual. - Ignacio Vazquez-Abrams
@ IgnacioVazquez-Abrams "Os comandos passados ​​para o wsl.exe são encaminhados para o processo do WSL sem modificação." - DavidPostill♦
@ IgnacioVazquez-Abrams "bash.exe foi substituído e substituído por wsl.exe." - DavidPostill♦
@ IgnacioVazquez-Abrams Você pode passar um script de shell contendo cd e outros comandos ... - DavidPostill♦
Claro, eu estava apenas apontando que o exemplo que o autor da pergunta usava não funcionaria. - Ignacio Vazquez-Abrams