Sådan kører du Shell Script (. sh-fil)?

Bash-og Bash-skallen er den vigtigste styringskomponent til Linus-systemerne. Kommandoer kører på bash for at udføre opgaver eller job. Disse kommandoer kan gemmes i en fil, der kaldes en shell script. Shell-scriptet bruges til at køre enkelt eller flere kommandoer ved blot at kalde shell-scriptfilen uden at skrive kommandoer igen og igen. Shell-scripts har*. sh-udvidelsen til Bash eller Sh. I denne vejledning lærer vi, hvordan man kører shell script-filer på forskellige måder.

Opret Shell Script eller Script File

før du begynder at køre en shell script-fil, opretter vi en script-fil. Opret bare en tekstfil med udvidelsen*. sh. Sæt derefter nogle shell-kommandoer i den. I dette eksempel opretter vi det navngivne shell-script systeminfo.sh .

hostnamectlecho "This is a shell script."

gør Shell Script eksekverbar og kør

den mest kommandomåde til at udføre eller køre et shell script gør det eksekverbart og derefter ringe. Shell-filen er som standard kun en fil med noget tekst. Det kan gøres eksekverbart af skallen ved hjælp af kommandoen chmod. I det følgende eksempel gør vi systeminfo.sh shell script fil eksekverbar for den aktuelle bruger.

chmod u+x systeminfo.sh

vi kan kontrollere, om shell script-filen kan eksekveres med Ls-kommandoen som nedenfor.

ls -l systeminfo.sh

udgangen er som nedenfor, hvor brugeren har udførelses tilladelsen, som er afbildet med bogstavet.

-rwxrw-r-- 1 ismail ismail 44 Oca 28 04:18 systeminfo.sh

nu kan vi køre eller udføre scriptfilen direkte ved at ringe med dens navn og sti. Hvis scriptfilen er i den aktuelle arbejdsmappe, kan den kaldes som nedenfor.

./systeminfo.sh
gør Shell Script eksekverbar og køre

Alternativt, hvis shell-scriptet, hvis det er en anden mappe, så kan den aktuelle arbejdsmappe angive den fulde eller absolutte sti til at udføre den. Dette er den mere pålidelige måde, hvor scriptfilen kan udføres korrekt for enhver situation.

/home/ismail/systeminfo.sh

Kør Shell Script direkte med bash kommando

hver bash shell kommando fortolkes og udføres via bash tolk. Bash-tolken er en eksekverbar fil, der er placeret /usr/bin/bash . Vi kan udføre en shell script-fil, der direkte leverer den til bash-binæren. Denne metode kræver ikke at gøre scriptfilen eksekverbar. I det følgende eksempel udfører vi shell script-filen via bash binær eller kommando.

bash ./systeminfo.sh

Alternativt kan den fulde sti til shell script-filen specificeres som nedenfor.

bash /home/ismail/systeminfo.sh

Kør Shell Script som Root

som standard udføres shell-scriptet som den aktuelle bruger med de aktuelle brugerrettigheder. Men i nogle tilfælde skal vi muligvis køre shell script-filen som root eller med root-privilegier. Vi kan bruge sudo-kommandoen under udførelsen af shell-scriptfilen.

sudo ./systeminfo.sh

med den absolutte sti til shell script-filen kan sudo-kommandoen flettes som nedenfor.

sudo /home/ismail/systeminfo.sh

Kør Shell Script via GUI (Desktop Environment)

Shell script filer kan også køres via GUI eller Desktop miljø. Men først skal det være aktiveret for udførelsen. Højreklik på scriptfilen, og klik på Egenskaber som nedenfor.

egenskaber for Shell Script-fil

i vinduerne egenskaber skal du navigere til fanen Tilladelser og kontrollere Udfør konfiguration. Dette tillader udførelse af fil som program.

Tillad udførelse af fil som Program

Debug Shell Script, mens du kører

shell script-filen er som et program, der udførte forskellige kommandoer. Shell-scriptet kan debugges for at opdage fejl eller fejl. Shell script-filen kan også debugges for at få detaljerede oplysninger om udførelsen af shell-scriptet. Parameteren bruges sammen med bash-kommandoen til at debugge shell-scriptfilen.

bash -x ./systeminfo.sh

Gem Shell Script Output i en fil

nogle shell scripts oprette nogle output, der udskrives i standard output eller terminal. Denne udgang kan omdirigeres til en fil nemt ved hjælp af > operatoren. I det følgende eksempel omdirigerer vi “systeminfo.sh” shell script output i filen med navnet ” output.tekst”.

./systeminfo.sh > output.txt

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.