Sådan giver du en systemd-tjeneste flere argumenter: En guide

Er det muligt at give en systemd-tjeneste mere end ét argument?

Det er muligt at give en systemd-tjeneste mere end ét argument ved at specificere dem i tjenestens enhedsfil, f.eks. via ExecStart-direktivet eller miljøvariabler.

Er det muligt at give en systemd-tjeneste mere end ét argument?

Ja, det er muligt at give en systemd-tjeneste mere end ét argument. Dette kan gøres ved at specificere argumenterne i tjenestens enhedsfil. Her er nogle måder at gøre det på:

  • Brug af ExecStart: I enhedsfilen kan du bruge ExecStart direktivet til at angive kommandoen og dens argumenter. For eksempel:
    [Service]
    ExecStart=/usr/bin/mycommand arg1 arg2 arg3
        
  • Flere argumenter med citater: Hvis dine argumenter indeholder mellemrum eller specielle tegn, kan du indkapsle dem i citater:
    [Service]
    ExecStart=/usr/bin/mycommand "arg with spaces" "another arg"
        
  • Brug af miljøvariabler: Du kan også definere miljøvariabler i enhedsfilen og derefter bruge dem i ExecStart:
    [Service]
    Environment="ARG1=value1"
    Environment="ARG2=value2"
    ExecStart=/usr/bin/mycommand $ARG1 $ARG2
        
  • Brug af en wrapper script: En anden metode er at oprette et wrapper script, der kalder din kommando med de ønskede argumenter, og derefter kalde dette script fra ExecStart:
    [Service]
    ExecStart=/path/to/wrapper-script.sh
        

Ved at bruge disse metoder kan du nemt give en systemd-tjeneste flere argumenter og sikre, at den fungerer korrekt med de ønskede parametre.