Me pregunto si alguien sabe de una manera de ejecutar un programa condicional en función del éxito de salida/fracaso del programa anterior. ¿Hay alguna forma de que ejecute un programa2 inmediatamente después del programa1 si el programa1 finaliza exitosamente sin probar la variable LASTEXITCODE? Probé la banda y los operadores en vano, aunque tenía la sensación de que no funcionarían de todos modos, y el mejor sustituto es una combinación de un punto y coma y una declaración if. Es decir, cuando se trata de la construcción de un paquete de algo de forma automática desde las fuentes en Linux, el operador & & no puede ser mejor:proceso de ejecución condicional en Windows PowerShell (por ejemplo, el && y || operadores en Bash)
# Configure a package, compile it and install it
./configure && make && sudo make install
PowerShell me exigiría a hacer lo siguiente, suponiendo que en realidad podría utilizar el mismo sistema de construcción en PowerShell:
# Configure a package, compile it and install it
.\configure ; if ($LASTEXITCODE -eq 0) { make ; if ($LASTEXITCODE -eq 0) { sudo make install } }
Claro, yo podría utilizar múltiples líneas, lo guarda en un archivo y ejecutar la secuencia de comandos, pero la idea es para que sea concisa (salvo las pulsaciones del teclado). Quizás es sólo una diferencia entre PowerShell y Bash (e incluso la incorporada en el símbolo del sistema de Windows que soporta el operador & &) Voy a tener que adaptarse a, pero si hay una forma más limpia de hacerlo, me gustaría saber .
Quien esté interesado en '' && 'y' || 'de Bash-style formando parte de PowerShell: vote por la función [aquí] (https://windowsserver.uservoice.com/forums/301869-powershell/suggestions/11087898-implement-the-and-operators-that-bash-has). – mklement0