Porque você quer isso? De qualquer forma, se o seu arquivo de lote for file.bat, tente: 'cmd / C file'
golimar
1
Como um trabalho em volta, você pode adicionar alias command = 'command.bat' em seu shell .profile
kode
Respostas:
2
Não encontrei outra solução, então fiz o que o golimar disse. Aqui está um script simples que procura .bat arquivos em um diretório específico e cria aliases. Por exemplo, se houver um arquivo git.bat em /some/path haverá um alias git que aponta para isso. Adicione isto ao seu ~/.bashrc ou ~/.zshrc ou o que você está usando:
for f in /some/path/*.bat; do alias `basename "${f%.bat}"`=$f; done
Isso é muito legal! Várias dicas sobre o seu código bash. Se estiver usando uma variável dentro de uma função, certifique-se de defini-la como local (a menos que você tenha uma razão para criar uma var global. Na minha opinião, é um bom estilo usar letras minúsculas para variáveis e maiúsculas para (pseudo-) constantes, embora os gostos variem. Você pode usar ${1,,} para minúscula $ 1, não há necessidade de temp var, subshell e pipe. Caso o .bat arquivo não existe, você deseja imprimir o padrão "bash: $1: command not found" e return 127.
Respostas:
Não encontrei outra solução, então fiz o que o golimar disse.
Aqui está um script simples que procura
.bat
arquivos em um diretório específico e cria aliases.Por exemplo, se houver um arquivo
git.bat
em/some/path
haverá um aliasgit
que aponta para isso.Adicione isto ao seu
~/.bashrc
ou~/.zshrc
ou o que você está usando:fonte
outra solução é usar a função interna bash
command_not_found_handle()
como isso:fonte
local
(a menos que você tenha uma razão para criar uma var global. Na minha opinião, é um bom estilo usar letras minúsculas para variáveis e maiúsculas para (pseudo-) constantes, embora os gostos variem. Você pode usar${1,,}
para minúscula $ 1, não há necessidade de temp var, subshell e pipe. Caso o.bat
arquivo não existe, você deseja imprimir o padrão"bash: $1: command not found"
ereturn 127
.