Jeg har to shell-scripts, a.sh
og b.sh
.
Hvordan kan jeg kalde b.sh
fra shell-scriptet a.sh
?
Du kan gøre dette på flere forskellige måder:
Gør det andet script eksekverbart, tilføj linjen #!/bin/bash
øverst og stien hvor filen er til miljøvariablen $PATH. Derefter kan du kalde det som en normal kommando;
Eller kalde den med kommandoen source
(alias er .
) som f.eks: source /path/to/script
;
Eller brug kommandoen bash
til at udføre den: /bin/bash /sti/til/script
;
Den første og tredje metode udfører scriptet som en anden proces, så variabler og funktioner i det andet script vil ikke være tilgængelige.
Den anden metode udfører scriptet i det første scripts proces og trækker variabler og funktioner fra det andet script ind, så de kan bruges fra det kaldende script.
Hvis du i den anden metode bruger exit
i det andet script, vil det også afslutte det første script i den anden metode. Hvilket ikke vil ske i den første og tredje metode.