Criando scripts do Windows em execução no Unix

1

Existe alguma maneira de executar arquivos de scripts do Windows (BAT) em uma máquina Unix? Como importar uma função ou uma biblioteca, por exemplo, que é reconhecida apenas no sistema operacional Unix, mas não tem efeito quando executada no Windows.

OU pode ser possível escrever os dois conjuntos de comandos no mesmo arquivo e fazer algo assim:

If OS = 'Windows' then execute between lines A and B
else execute between lines C and D
    
por Jay 05.02.2013 / 07:54

2 respostas

1

Você não pode executar nativamente um script BAT no UNIX / Linux. Mas você poderia tentar o Vinho :

Wine (originally an acronym for "Wine Is Not an Emulator") is a compatibility layer capable of running Windows applications on several POSIX-compliant operating systems.

Você pode baixar os instaladores do Wine para várias distribuições Linux e BSD e para o Solaris aqui (você precisará compilar o source para outros tipos de UNIX, embora).

Uma vez que o Wine esteja instalado e configurado, copie o script BAT para o seu computador UNIX / Linux e execute-o assim (de link :

# wine cmd < path/to/your/file.bat
# wine start path/to/your/file.bat
# wine cmd /c path/to/your/file.bat

Observe que, embora o Wine faça o melhor para executar os scripts, há problemas de portabilidade, como sensibilidade a maiúsculas e minúsculas, nomes de caminhos, problemas de codificação de texto, etc., que podem quebrar as coisas.

É por isso que recomendo que você use o Wine para scripts legados. Novos scripts são melhor escritos em uma linguagem independente de plataforma, como Perl ou Python.

    
por 05.02.2013 / 16:16
0

Existem muitas linguagens de script alternativas que funcionam no Windows, UNIX, Linux e em outros sistemas operacionais.

Perl provavelmente seria a melhor escolha. Perl é uma linguagem de programação dinâmica de alto nível, de propósito geral, interpretada. O Perl pode fazer praticamente qualquer coisa relacionada ao sistema operacional que você queira, sem mencionar o Comprehensive Perl Archive Network (CPAN). O CPAN é um arquivo de mais de 25.000 distribuições de software escritas em Perl, bem como documentação para ele. Existem "plugins" para praticamente tudo que você possa imaginar. Integração com todos os principais bancos de dados, produtos de software populares e muito mais.

Python, Ruby, Lua, são outros exemplos.

Outra solução possível seria executar scripts UNIX / Linux no Windows. Isso pode ser feito com o Cygwin . Em suma, o Cygwin é uma coleção de ferramentas que fornecem um ambiente de aparência e comportamento do Linux para o Windows.

    
por 07.02.2013 / 04:40