Associando scripts do shell linux (.sh) no Windows 10 ao Bash ou WSL [duplicado]

0

Se você já tentou executar um script .sh linux no Windows 10 clicando duas vezes nele, depois de atribuí-lo ao bash.exe (Ubuntu Bash para Windows 10) por padrão, você provavelmente notou que ele não abriria.

Por que não abre e como posso corrigir isso?

    
por Alex Sim 19.10.2017 / 02:32

1 resposta

2

EDIT: a chave do registro e as informações abaixo são OBSOLETE, consulte a nova versão fornecida aqui: Posso arrastar e soltar arquivos para um script .sh usando Bash no Ubuntu no Windows ou Windows Subsystem para Linux ( WSL)?

Isso pode ser feito editando uma única chave de registro (ou mais para funcionalidades extras).

Obviamente, ligarei um arquivo .reg (na verdade, três arquivos reg zipados) para instalar rapidamente a solução alternativa (junto com associação de ícones e ativador de edição nano (opcional)) sem ter que editar o registro, se você baixar e instalar você só deve seguir o passo 1;

FILE (siga apenas a etapa 1, faça o download e instale o arquivo): link

Mas, para satisfazer sua desconfiança saudável, veja como você pode fazer isso sozinho:

.

1) Defina bash.exe como programa padrão para arquivos .sh

Basta clicar com o botão direito em um arquivo sh, ir para propriedades, localizar "abrir com", alterar > more_apps > find_an_app_in_this_PC e selecione C: \ Windows \ System32 \ bash.exe;

Inscreva-se e você está pronto para ir.

.

2) Clique duplo real para abrir a chave

crie a seguinte chave de registro com regedit

HKEY_CLASSES_ROOT\Applications\bash.exe\shell\open\command

a) Se você quiser manter o bash aberto após o script terminar

defina o valor (padrão) como

"C:\Windows\System32\bash.exe" -c " \"./$(grep -oE '[^\]+$' <<< '%L')\"; cd ~; bash;"

b) Se você quiser fechar o bash após o script terminar

defina o valor (padrão) como

"C:\Windows\System32\bash.exe" -c " \"./$(grep -oE '[^\]+$' <<< '%L')\";"

.

3) Abrir como opção de administrador

crie a seguinte chave de registro com regedit

HKEY_CLASSES_ROOT\Applications\bash.exe\shell\runas\command

a) Se você quiser manter o bash aberto após o script terminar

defina o valor (padrão) como

"C:\Windows\System32\bash.exe" -c " sudo bash \"$(grep -oE '[^\]+$' <<< '%L')\"; cd ~; bash"

b) Se você quiser fechar o bash após o script terminar

defina o valor (padrão) como

"C:\Windows\System32\bash.exe" -c " sudo bash \"$(grep -oE '[^\]+$' <<< '%L')\";"

.

4) Atribuir chave de ícone padrão (opcional [mas mais frio])

crie a seguinte chave de registro

HKEY_CLASSES_ROOT\Applications\bash.exe\DefaultIcon

e defina o valor (padrão) como

%USERPROFILE%\AppData\Local\lxss\bash.ico,0

.

5) Clique com o botão direito em > opção de edição (com editor nano) (opcional)

crie a seguinte chave de registro

HKEY_CLASSES_ROOT\Applications\bash.exe\shell\edit\command

e defina o valor (padrão) como

"C:\Windows\System32\bash.exe" -c "nano -miST 4 \"$(grep -oE '[^\]+$' <<< '%L')\""
    
por 19.10.2017 / 02:32