Criando atalhos no estilo UNIX no Windows?

3

Eu tenho um problema único ... Eu desenvolvo Perl em uma máquina Windows, mas meus servidores test / prod são AIX. Eu quero ser capaz de testar localmente com uma instalação do Apache & Perl, mas eu não quero ter que mudar o #! linha em todos os meus scripts para testar localmente e, em seguida, alterá-los de volta para fazer o upload para o servidor de teste.

Minha pergunta é: posso criar algum tipo de atalho / apelido / o que quer que seja no Windows no estilo '/ usr / bin / perl' que realmente aponta para 'C: \ ActiveState \ Perl5.0.12 \ perl.exe '?

Eu estou meio perdido com isso, então qualquer ajuda é muito apreciada. Obrigado!

    
por daniel0mullins 30.06.2011 / 22:23

3 respostas

1

Sim, você pode. Basta criar o caminho, conforme especificado no seu código-fonte Perl. Por exemplo, se você estiver usando #! / Usr / pkg / bin / perl, no Windows você pode criar o caminho na mesma unidade (presumivelmente C :) e criar um link simbólico para ele (sem o .exe).

Dependendo do que você está fazendo, pode ou não funcionar, mas você terá que tentar. Se você espera apenas executar seus arquivos .pl nativamente, isso não funcionará porque o Windows não é tão flexível quanto o Unix ou o Linux com relação à leitura da primeira linha de um binário para determinar como executá-lo / interpretá-lo.

Você pode usar o comando "mklink" do Windows para criar seu link simbólico (graças ao @grawity por sugerir que eu adicione este ponto).

    
por 30.06.2011 / 22:29
1

Não se incomode.


C:\> type t1.pl
#!/usr/bin/perl
use strict;
use warnings;
print "that worked\n";

C:\> t1.pl
that worked

Mas acho que o Apache precisa de uma linha shebang correta - nesse caso, veja

    
por 30.06.2011 / 22:50
0

Você pode tentar replicar a estrutura de diretório unix na sua partição C e, em seguida, criar links sym adequadamente, se estiver em NTFS. Embora no NTFS, eles são chamados de " junções " e o Windows Explorer não tem meios de diferenciar junções dos arquivos originais / dirs - você precisa desta ferramenta para usar os recursos de junção do NTFS.

Eu amo links sym e os uso como um cara maluco. Mas eu evito usar junções no NTFS porque o explorador não mostra o que elas são e tenho medo de esquecer o que eu fiz, ou pior, outras que aparecem e fazem o mundo implodir, de alguma forma. Ainda assim, isso pode funcionar para você. Apesar de tudo, tudo depende de como o interpretador perl traduz caminhos de estilo unix para uso no Windows.

    
por 30.06.2011 / 22:32