Powershell: PSCore6 - $ env: la variable PROCESSOR_ARCHITECTURE falta en la plataforma cruzada.

Creado en 9 may. 2018  ·  3Comentarios  ·  Fuente: PowerShell/PowerShell


¿Alguna razón por la que se omitió $
Esto falta tanto en Linux como en MacOS PSCore6.

pasos para reproducir

Ejecute el siguiente comando en Linux o MacOS PSCore y falta la variable.

dir env:

Comportamiento esperado

Esta variable $ env: PROCESSOR_ARCHITECTURE para existir


Comportamiento real

No se proporciona en sistemas operativos que no son Windows.


Datos ambientales

CentOS:

PS /home/maxt> cat /etc/os-release                                                                                                  
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

Mac OS:

Maximos-Mac:~ maxt$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.13.4
BuildVersion:   17E199
#CentOS
PS /home/maxt> $PSVersionTable                                                                                                      

Name                           Value
----                           -----
PSVersion                      6.1.0-preview.2
PSEdition                      Core
GitCommitId                    v6.1.0-preview.2
OS                             Linux 3.10.0-693.21.1.el7.x86_64 #1 SMP Wed Mar 7 19:03:37 UTC 2018
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0
#MacOS
PS /Users/maxt> $PSVersionTable                                                                                         

Name                           Value
----                           -----
PSVersion                      6.1.0-preview.2
PSEdition                      Core
GitCommitId                    v6.1.0-preview.2
OS                             Darwin 17.5.0 Darwin Kernel Version 17.5.0: Mon Mar  5 22:24:32 PST 2018; root:xnu-45...
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0
Issue-Question Resolution-Answered

Comentario más útil

Creo que, al ser una variable de entorno, PowerShell no controla la existencia de esa configuración. Es el sistema operativo host el que establece PROCESSOR_ARCHITECTURE en el entorno, y ha habido una preferencia general por PowerShell de no establecer nuevas variables de entorno (especialmente porque esto potencialmente rompe las cosas).

Para que quede claro, vaya a cmd.exe en Windows y escriba echo %PROCESSOR_ARCHITECTURE% y debería ver el valor. Vaya a bash en UNIX y escriba echo $PROCESSOR_ARCHITECTURE y no obtendrá nada por defecto. PowerShell tiene como objetivo hacer lo mismo en cada plataforma respectiva.

Todos 3 comentarios

Creo que, al ser una variable de entorno, PowerShell no controla la existencia de esa configuración. Es el sistema operativo host el que establece PROCESSOR_ARCHITECTURE en el entorno, y ha habido una preferencia general por PowerShell de no establecer nuevas variables de entorno (especialmente porque esto potencialmente rompe las cosas).

Para que quede claro, vaya a cmd.exe en Windows y escriba echo %PROCESSOR_ARCHITECTURE% y debería ver el valor. Vaya a bash en UNIX y escriba echo $PROCESSOR_ARCHITECTURE y no obtendrá nada por defecto. PowerShell tiene como objetivo hacer lo mismo en cada plataforma respectiva.

En aras de la integridad, en UNIX debería poder usar uname -m (creo que $PSVersionTable usa esto para OS ). Creo que podría haber habido alguna discusión acerca de que PowerShell también tiene una variable interna para rastrear la arquitectura del procesador.

¡¡Gracias a todos!!
:)

¿Fue útil esta página
0 / 5 - 0 calificaciones