Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

185
Visualizações
¿Cómo detecto el nombre del sistema operativo en Perl para una versión en particular?

He intentado buscar una respuesta sobre cómo se puede hacer esto, pero parece que no puedo encontrar una. Soy consciente de que para encontrar el nombre del sistema operativo en perl puede usar

 $^O

Sin embargo, en Linux y Solaris, no importa en qué versión del sistema operativo se encuentre, solo devolverá Solaris o Linux . Me gustaría que apareciera como Solaris10 o Solaris11 . ¿Hay alguna manera de conseguir esto? yo se si entras

 uname -r

puede obtener el número de versión (5.10 en Solaris, por ejemplo). ¿Alguna idea sobre cómo podría hacerse esto?

gracias =)

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

El módulo POSIX en perl proporciona la llamada uname, por lo que:

 use POSIX qw(uname); my @uname = uname(); print $uname[0] . " " . $uname[2];

Esto proporciona la información del sistema en ejecución, no del sistema que realizó la compilación (que es de donde provienen los resultados de la Config ).

Sin embargo, en general, esta información es la versión del kernel y no la versión de marketing del producto, por lo que, por ejemplo, esto no le dirá si es un sistema Linux Mint, solo que es un sistema Linux que ejecuta el kernel 3.2.foo. .

Para los sistemas Linux basados en lsb, el comando lsb_release puede brindar esta información, por ejemplo, en un sistema Linux que tengo:

 natsu ~> lsb_release -r Release: 12.04 natsu ~> lsb_release -i Distributor ID: Ubuntu

Esta información se encuentra en el /etc/lsb-release .

Para Solaris, la información de la versión se encuentra en el /etc/release . La primera línea contiene el nombre del sistema operativo, por ejemplo, Solaris 10 9/10 . Hay varias líneas en este archivo y es más un campo de texto de forma libre.

over 4 years ago · Santiago Trujillo Relatório

0

use Config; print "$_\n" for @Config{qw(myuname osname osvers)};

Desde la configuración de perldoc ,

El módulo Config contiene toda la información que estaba disponible para el programa Configure en el momento de compilación de Perl.

mi nombre

La salida de uname -a si está disponible, de lo contrario, el nombre de host. Todo se pone en minúsculas y se eliminan las barras y las comillas simples.

osname

Esta variable contiene el nombre del sistema operativo (por ejemplo, sunos, solaris, hpux, etc.). Puede ser útil más adelante para establecer valores predeterminados. Los espacios se reemplazan con guiones bajos. Se establece en una cadena nula si no podemos resolverlo.

osvers

Esta variable contiene la versión del sistema operativo (por ejemplo, 4.1.3, 5.2, etc.). Se utiliza principalmente para ayudar a seleccionar un archivo de sugerencias apropiado, pero puede ser útil en otros lugares para establecer valores predeterminados. Se establece en '' si no podemos resolverlo. Tratamos de ser flexibles con respecto a la cantidad de versión que se debe mantener, por ejemplo, si 4.1.1, 4.1.2 y 4.1.3 son esencialmente iguales para este paquete, los archivos de sugerencias podrían ser simplemente os_4.0 o os_4.1, etc., no manteniendo archivos separados para cada pequeño lanzamiento.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda