Espaço em doskey / alias para windows?

4

Eu tento executar o comando Laravel's Artisan dentro do contêiner (docker) definindo um alias doskey.

Minha ideia foi:

php artisan=docker-compose exec apache php artisan $1

No entanto, não me permite usar um espaço na chave. Alguma idéia de como conseguir isso?

alias

por Thomas Moors 03.09.2018 / 09:46

2 respostas

4

Eu devo, neste caso, dar uma resposta negativa - usar espaços em branco em um nome doskey é impossível. O Doskey foi criado para o Prompt de Comando (cmd), então é bem simples em conceito.

Isso é impossível na minha opinião desde:

  • Em um comando doskey, como doskey a b=ab , é preciso "a" para uma opção inválida
  • O comando doskey não aceita aspas em torno do nome da macro.

Aqui estão alguns testes que eu fiz:

Comovocêpodever,algunscaracteresespeciaissãoaceitos,masnãoapenasembranco.

Mesmosemespaçosembrancononomedamacro,OdoskeyéumprogramaantigodoDOSesófuncionanoPowerShellcomdificuldade.EleentraemconflitocomomóduloPSReadLine,quedependedasfunçõesdeentradadoconsolenativo.Eutesteiisso:

Como você pode ver, é necessário fazer duas ações adicionais:

  • Emita o comando Remove-Module PSReadLine
  • Adicione ao comando doskey o parâmetro /exename=powershell.exe

Quando ambos estão prontos, o comando é executado corretamente e fornece o erro certo.

Meu melhor conselho é não usar doskey no PowerShell. O Doskey é antigo e o PowerShell é novo, e eles só podem ser usados juntos com dificuldade. Eu realmente não acho que doskey é tão útil a ponto de ser insubstituível.

Tente encontrar outra solução para seus comandos mais usados. Por exemplo, armazene os comandos em arquivos executáveis, como .ps1 ou .cmd ou .bat dentro de uma pasta que você adicionaria ao PATH.

    
por 28.09.2018 / 11:53
2

Não há como conseguir isso. O Maccroname Doskey não pode ter um espaço.

    
por 28.09.2018 / 11:22