Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

502
Vistas
Powershell para Linux: la combinación de comandos con el signo de canalización no funciona

¿Alguna forma de concatenar comandos en Powershell para Linux?

Esto es lo que estoy tratando de ejecutar:

pwsh -Command Invoke-ScriptAnalyzer -Path . | ConvertTo-Json | Out-File -FilePath "/home/administrator/scripts/test.json"

Por lo tanto, ejecute Invoke-ScriptAnalyzer, convierta los resultados a Json y guarde el resultado en test.json.

No reconoce nada después de | señal:

./test.sh: line 1: ConvertTo-Json: command not found

./test.sh: line 1: Out-File: command not found

Necesito que esto vaya en un script bash, de ahí la necesidad de iniciar pwsh con la opción -Command.

¿Algunas ideas?

Gracias

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Como está escrito, su | los símbolos son interpretados por su shell de Linux (como bash ), no por PowerShell.

Hay dos soluciones:

  • Preferiblemente, cite todo el argumento -Command (una cadena '...' en un shell compatible con POSIX, como bash , usa el contenido de la cadena palabra por palabra ):
 pwsh -Command 'Invoke-ScriptAnalyzer -Path . | ConvertTo-Json | Out-File -FilePath "/home/administrator/scripts/test.json"'
  • Alternativamente, individualmente \ -escape todos los metacaracteres del shell de Linux que desea pasar textualmente, como \| y \" en este caso:
 pwsh -Command Invoke-ScriptAnalyzer -Path . \| ConvertTo-Json \| Out-File -FilePath \"/home/administrator/scripts/test.json\"

Nota: En este caso, pwsh recibe varios argumentos después de -Command . Sin embargo, PowerShell simplemente los une antes de interpretar el resultado como código de PowerShell.
Esto difiere del procesamiento de la línea de comandos de los shells compatibles con POSIX, que interpretan el primer argumento post- -c como un script ad-hoc implícito, con argumentos adicionales que se pasan como argumentos textuales a ese script , accesible como de costumbre como $1 , ...

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda