Dois tipos de variáveis podem ser usados em linguagens de script de shell: uma são as variáveis de shell e a outra são as variáveis de ambiente. As variáveis de ambiente são trabalhadas como variáveis globais para as linguagens de script. Os dados relacionados ao ambiente usados para executar o script são armazenados nas variáveis de ambiente. Essas variáveis são armazenadas com base no par chave-valor. O nome da variável é definido pela chave que armazena o valor da variável. O valor de qualquer variável de ambiente pode ser definido ou acessado pelo script Perl. Os métodos de acesso e modificação das variáveis de ambiente usando o script Perl são mostrados neste tutorial.
Usos das variáveis de ambiente no script Perl
Os métodos para acessar variáveis de ambiente específicas ou todas e redefinir qualquer variável de ambiente são mostrados nesta parte do tutorial.
Exemplo 1: Imprima as variáveis de ambiente específicas
As variáveis de ambiente são armazenadas no array%ENV que funciona como o array associativo. O nome da variável é a chave do array%ENV e o valor é armazenado nessa chave específica. Crie um arquivo Perl com o script a seguir que imprime três variáveis de ambiente. O nome de usuário de login atual é armazenado na variável $ENV{‘USER’}. O valor atual do shell é armazenado na variável $ENV{‘SHELL’}. O diretório de trabalho atual é armazenado na variável $ENV{‘PWD’}. Essas três variáveis são acessadas e impressas no script.
#!/local/bin/perl
use estrito;
usar avisos;
use 5.34.0;
#Imprime os valores de três variáveis de ambiente
dizer 'Nome de usuário é' . $ENV { 'DO UTILIZADOR' } ;
dizer 'O shell atual é' . $ENV { 'CONCHA' } ;
dizer 'O diretório de trabalho atual é' . $ENV { 'PcD' } ;
Saída:
A seguinte saída semelhante aparece após a execução do script:
Exemplo 2: Imprima as primeiras cinco variáveis de ambiente
Crie um arquivo Perl com o script a seguir para ler os primeiros cinco valores da matriz %ENV que contém todas as variáveis de ambiente. Aqui, o loop “foreach” é usado para ler todas as variáveis de ambiente com base nos valores-chave classificados. A variável “$counter” é usada no script para encerrar o loop após imprimir as cinco variáveis de ambiente. A variável “$counter” é incrementada a cada iteração do loop e quando o valor de “$counter” é 5, a “última” instrução é executada para sair do loop.
#!/local/bin/perluse estrito;
usar avisos;
use 5.34.0;
#Inicializar o contador
meu $ contador = 0 ;
#Iterar o loop para ler todas as variáveis de ambiente
para cada ( organizar chaves % ENV ) {
#Leia o nome da variável de ambiente
meu $chave = $_ ;
#Leia o valor da variável de ambiente
meu $valor = $ENV { $chave } ;
#Imprime o nome da variável com o valor
dizer ' $chave => $valor ' ;
#Incremente o contador
$ contador ++;
#Verifique o valor do contador
se ( $ contador > = 5 )
{
#Terminar do loop
durar ;
}
}
Saída:
A seguinte saída semelhante aparece após a execução do script:
Exemplo 3: Redefinir a variável de ambiente
Nos exemplos anteriores, os valores predefinidos das variáveis de ambiente são acessados individualmente e por meio de um loop. Entretanto, o valor de qualquer variável de ambiente pode ser alterado usando o script Perl. Crie um arquivo Perl com o seguinte script que imprime a localização do HOME, altera o local para “/temp/files” e imprime a localização do HOME novamente após a atualização.
#!/local/bin/perluse estrito;
usar avisos;
use 5.34.0;
#Imprime o valor da variável de ambiente específica
dizer 'O valor atual do HOME é' . $ENV { 'LAR' } ;
#Redefinir a variável de ambiente
$ENV { 'LAR' } = '/temp/arquivos' ;
#Imprime o valor da variável de ambiente específica após a atualização
dizer 'O valor atual do HOME é' . $ENV { 'LAR' } ;
Saída:
A seguinte saída semelhante aparece após a execução do script:
Exemplo 4: Imprima as variáveis de ambiente com formatação
Crie um arquivo Perl com o seguinte script que imprime as variáveis de ambiente com formatação usando a função printf(). Aqui, o loop “foreach” é usado para ler todas as variáveis de ambiente como no exemplo anterior. O par chave-valor da variável de ambiente é impresso adicionando dois pontos (:) entre a chave e o valor e mantendo um espaço de 15 caracteres para a chave.
#!/local/bin/perluse estrito;
usar avisos;
use 5.34.0;
#Iterar o loop para ler todas as variáveis de ambiente
foreach meu $ k ( organizar chaves % ENV ) {
#Imprime a saída formatada das variáveis de ambiente
imprimir ( '%15s: %s \n ' , $ k , $ENV { $ k } ) ;
}
Saída:
A seguinte saída semelhante aparece após a execução do script. Algumas partes no início da saída são mostradas aqui:
Conclusão
As variáveis de ambiente são usadas para finalidades diferentes e às vezes é necessário alterar o valor atual da variável de ambiente específica para qualquer finalidade de programação. Os métodos para obter e definir os valores das variáveis de ambiente usando o script Perl são mostrados nos exemplos deste tutorial para ajudar os usuários Perl.