Sådan undgår du +echo output i Jenkins shell scripts med -x aktiveret

Hvordan kan -x forblive aktiveret i shell scripts kørt fra Jenkins, men kun outputte selve beskeden fra echo kommandoen uden den ekstra linje med + echo "Message"?

For at undgå debug output fra echo kommandoen i et shell script kørt fra Jenkins, kan du midlertidigt deaktivere debug mode med set +x og genaktivere det med set -x, eller bruge en funktion som silent_echo til at håndtere echo kommandoer uden debug output.

Hvordan kan -x forblive aktiveret i shell scripts kørt fra Jenkins, men kun outputte selve beskeden fra echo kommandoen uden den ekstra linje med + echo "Message"?

For at opnå dette kan du bruge følgende fremgangsmåde:

  • Brug set +x og set -x til at midlertidigt deaktivere og genaktivere debug mode omkring echo kommandoen.

Her er et eksempel på, hvordan du kan gøre det:

#!/bin/bash
set -x
# Nogle kommandoer her

# Midlertidigt deaktiver debug mode
set +x
echo "Message"
# Genaktiver debug mode
set -x

# Flere kommandoer her

Med denne metode vil set -x forblive aktiveret for resten af scriptet, men echo kommandoen vil ikke outputte debug informationen.

  • Alternativt kan du bruge en funktion til at håndtere echo kommandoer uden debug output.

Her er et eksempel på en sådan funktion:

#!/bin/bash
set -x
# Nogle kommandoer her

# Funktion til echo uden debug output
silent_echo() {
  (set +x; echo "$@")
}

# Brug funktionen til at echo beskeder
silent_echo "Message"

# Flere kommandoer her

Ved at bruge en funktion som silent_echo, kan du nemt echo beskeder uden at deaktivere og genaktivere debug mode manuelt hver gang.

Opret din første opgave på få minutter

Spar dig selv for besvær og kom igennem din to-do liste i dag

1

Beskriv din opgave

2

Modtag bud

3

Få løst din opgave

opgaver platform services

Møbelsamling

Hjælp med at samle Ikea klædeskab

opgaver platform services

Maler

Klargøring af lejlighed til flyttesyn

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Havearbejde

Beskæring af 4 større træer

opgaver platform services

IT support

Geninstallering af windows + programmer

opgaver platform services

Elektriker

Installation af Sonos musikanlæg i hus

opgaver platform services

Rengøring

Ugentlig rengøring af lejlighed (114kvm)

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Elektriker

Opsætning af lamper i stue og soveværelse

opgaver platform services

Catering

3-retters menu til 14 mennesker