Bash Script Inkluder et annet Bash Script

Bash Script Inkluder Et Annet Bash Script



Hvis du er en Linux-entusiast, har du sikkert hørt om bash-skriptkonseptet. I bash-skripting kan du automatisere kodeblokken til kommandosekvensen. Noen ganger blir imidlertid kodeblokken i bash-skripting kompleks, og det kan være vanskelig for en bruker å utføre den videre.

Det er derfor bash tilbyr en funksjon som inkluderer et skript i en annen. Den lar deg kjøre kommandoene effektivt og oppnå et forbedret automatiseringsnivå. I denne bloggen vil vi forklare konseptet og gi eksempler på hvordan du kan inkludere et bash-manus i et annet manus.







Kildekommandoen

Kilden er en av de vanligste kommandoene for å inkludere et bash-skript i et annet. For eksempel, hvis du vil legge til 'info.sh'-skriptet i 'main.sh', så alt du trenger å gjøre er å legge til følgende linje i 'main.sh'-skriptet:





kilde info.sh

  kilde-kommando-eksempel





Info.sh-skriptet inneholder følgende informasjon:

  content-of-the-info.sh-script



Når du kjører main.sh-skriptet, vil det kjøre info.sh først og deretter kjøre de andre kommandoene:

  resultat-fra-main.sh-skript

Prikk (.) eller Prikk-skråstrek

Du kan bruke dot (.) i stedet for kildekommando siden begge er like og brukes til å utføre kommandoen fra gjeldende skall.

  punkt-kommando-eksempel

Du kan også bruke punkt-skråstrek (./) i stedet for punktum (.) for å utføre kommandoen fra gjeldende katalog:

  punkt-skråstrek-eksempel

Hvordan inkludere flere skript i ett skript

La oss lage et skript for å sjekke gjeldende CPU-belastning og kjøre det andre skriptet i henhold til belastningen. Nå må vi lage to skript, ett for høy belastning og det andre er for middels belastning:

For høy belastning:

#!/bin/bash
ekko 'Høy CPU-belastning oppdaget.'
ekko 'Å drepe ikke-essensielle prosesser ...'
pkill -9 -f firefox
ekko 'Ikke-essensielle prosesser er avsluttet.'

For middels belastning:

#!/bin/bash
ekko 'Moderat CPU-belastning.'
ekko 'Logger gjeldende prosessstatuser...'
ps -til > / tmp / gjeldende_prosesser.txt
ekko 'Prosesslogg opprettet på /tmp/current_processes.txt.'

Skriptet ovenfor oppretter en tmp-tekstfil hvis systemet har middels CPU-belastning. La oss nå lage et tredje skript, som vil ha de to skriptene ovenfor:

#!/bin/bash
cpu_load =$ ( oppetid | awk -F '[a-z]:' '{ print $2}' | kutte opp -d, -f2 | xargs )
hvis ( ( $ ( ekko ' $cpu_load > 2,0' | f.Kr -l ) ) ) ; deretter
ekko 'Utløser skript med høy belastning.'
kilde skript / high_load.sh
ellers ( ( $ ( ekko ' $cpu_load > 1,0' | f.Kr -l ) ) ) ;
ekko 'Utløser moderat innlastingsskript.'
kilde skript / moderat_load.sh
være

Til slutt, lagre og kjør skriptet ved å kjøre kommandoen nedenfor i terminalen:

  executing-the-monitoring.sh-script

Innpakning

Så dette handlet om de enkle måtene å inkludere ett manus på til en annen og forbedre automatiseringen uten problemer. Vi har også tatt med et eksempel som viser hvordan du kan perfekt inkludere flere skript for å bryte de komplekse prosessene uten å ta hensyn til automatiseringen. Vi anbefaler at du utforsker kreativitet og lager ulike skript rundt kobling av skript.