4 viktiga typer av skript för Linux-nybörjare (användbart)

Innehållsförteckning:

Anonim

Bildkälla: pixabay.com

Shell Scripting i Linux - Datorer förstår i allmänhet språket för 0 och 1 som är känt som ett binärt språk. För årtionden sedan brukade människor skriva program och applikationer som till och med kalkylatorer på binära språk. Men det var inte vackert. Bara föreställa! Du vill beräkna 73 + 96, hur skulle du skriva? Du måste hellre beräkna det binära heltalet för 73 och 96 och sedan lägga till dem. En person måste vara ganska dum för att göra det. Man skulle hellre beräkna 73 och 96 på ett papper och gå vidare. Men det är för den mindre delen. Tänk om du måste beräkna något liknande (19273/23 * (2967 3)). Jag skulle säga att det här är ganska intensivt.

Så, en indeal man som lär sig att koda allt på binärt språk är inte vettigt. Det är det främsta skälet till att datorerna inte var populära på 70- och 80-talet. Men senare, redan innan Windows utvecklades, började människor utveckla kärnor och liknande saker som var kärndelen i operativsystemet. Kärnorna som används för att förstå mänskligt läsbart format för ett specifikt program och sedan konvertera det till maskinkod. Och det är här programmeringsspråken växte fram och förändrade hela era världen av datorvärlden. Program byggdes i C och C ++, och senare med Java, Python, Ruby och Perl.

För närvarande finns det mer än 50 programmeringsspråk runt omkring. Och det är minst de som jag känner till. Låt inte tala om att det finns andra programmeringsspråk som är ännu svårare att förstå än maskinkod. Min poäng är exempel som kycklingprogrammering och Malbolge. Det är några allvarliga otäcka saker att hantera.

Shell-programmering… .errr… Skriptning?

Nu undrar du kanske varför jag inte nämnde Shell-programmering ovan tillsammans med de andra programmeringsspråken. Det främsta skälet till att Shell själv är är inte ett programmeringsspråk. Det är ett skriptspråk. Shell är bara ett interaktivt program för användare som tolkar alla inmatningar från användaren och ger resultatet förutsatt att kommandot är giltigt. Den överför sedan programmet till kärnan för att köra den. Shell är inte en del av Kernel, utan istället använder den kärnan för att utföra och skapa filer.

Typer av Shell Scripting Program

Till skillnad från C, C ++ eller Java finns det flera andra typer av skal som kan användas för Shell Scripting. Följande är de fyra typerna av skal tillgängliga fram till datum:

Nej.Shell TypeBeskrivning
1.Bash alias Bourne Again ShellDetta är det vanligaste skalet som finns på alla Linux- och debianbaserade system. Det är öppen källkod och freeware.
2.CSH eller C ShellDetta Shell-skriptprogram använder C-programmeringens skalsyntax och nästan liknar C.
3.KSH eller Korn ShellKorn är ett Unix-baserat Shell-skriptprogram, ursprungligen baserat på Bash Shell Scripting. Detta skal är ganska avancerat och det är ett programmeringsspråk på hög nivå.
4.tcshDet finns ingen specifik fullform av TCSH. Det är som det är. TCSH är en avancerad version av Berkeley Unix C-skalet. Det stöder igen syntax i C-stil

När det gäller idag är vi inte intresserade av alla ovanstående skal här. Vi är bara intresserade av Bash-skalet, eftersom det är det vanligaste skalet i världen idag.

The Bash Shell

Bash Shell-skriptprogrammet är ett skriptspråk på hög nivå, liknande det för python. Men om du har någon erfarenhet av Python tidigare, kommer du faktiskt att upptäcka att Bash Shell-scripting är mycket lättare än något annat skriptspråk. Man kan skriva skript i bash mycket snabbare än i C, C ++, Java eller Python. Standardterminalen i dagens mest Linuxmiljö, säg t.ex.: - Ubuntu, Linux Mint Cinnamon / Rafaela, Fedora, Arch Linux eller någon annan debianmiljö består av Bash som standard Shell. Du kan dock kontrollera alla skalmiljöer som finns i ditt system genom att skriva följande i standardterminalen: -

$ katt / etc / skal

(Obs: Dollartecknet i början används för att identifiera en terminal.)

"Katt" -syntaxen används för att läsa textfiler. Typerna av shell-skriptprogram i en Linux-, Unix- eller Debian-miljö lagras i skalfilen i etc- katalogen. Varje skal har sin egen unika uppsättning syntaxer och sin egen uppsättning inbyggda funktioner. DOS eller windows har också ett eget skal som kallas den ökända "kommandotolk" eller "powershell" från windows 8.1 och framåt, men det är fortfarande inte lika kraftfullt som bash. Kattsyntaxen ger dig listan över skal som finns tillgängliga i systemet, men för att hitta standardskalet eller för att kontrollera det aktuella med skalet kan man använda följande syntax i Shell Scripting Terminal: -

$ echo $ SHELL

Synoxen "eko" används för att skriva ut alla uttalanden. Här är 'SHELL' en variabel tilldelad för att skriva ut det aktuella skalet. Dollartecknet efter 'eko' används för att representera en variabel i Shell Scripting.

Rekommenderade kurser

  • Certifieringskurs i Java-viloläge
  • Java Spring Course
  • WordPress Online Training
  • Ruby Training

Shell-skript

Så nu vet du vad ett skal är, låt oss titta på Shell Scripting och varför det är känt som det. Shell Scripting är inget annat än en serie kommandon i en enkel textfil som slutar med en tillägg '.sh'. '.Sh' bestämmer att det är en skal-körbar fil. Efter att du har skrivit ett skalskript måste man ändra den körbara behörigheten med 'chmod-funktionen'. Som standard kan alla nyskapade skal inte köras i UNIX eller Linux-miljön såvida inte behörigheterna ändras specifikt. Shell Scripting är nästan liknande det för Batch-programmering från Windows, men skillnaden är att Shell Scripting är ganska kraftfullare och ger mycket mer avancerad interaktiv miljö tillsammans med flikavslutningar. Man måste använda en bra textredigerare för att skriva ett skalskript. Några bättre som jag känner till är Vim, Gedit och Leafpad.

Till skillnad från andra programmeringsspråk är Shell-skript snabbare att skriva och köra. Du behöver inte ladda ner några specifika paket eller beroenden för att köra. De kan inte bara användas av en systemadministratör utan också av en vanlig person för att utföra automatiserade skript dagligen. Följande är ett enkelt exempel på ett manus som skrivs här.

#! / bin / bash echo -e "Välkommen till det första skalprogrammet. \ n" echo -e "Skriv något här och det här programmet kommer att skriva ut detsamma. \ n" #fråga användaren för ingång som läses ingång # läser inmatningen från användareko "Du angiven: $ input ” exit 0

Låt mig nu förklara alla parametrar i koden ovan. Skriv först koden ovan i en textfil i formatet ”som är” och spara den med ett tillägg som slutar med ”.sh”. Namnge till exempel filen som 'main_program.sh'. Se till att det inte är 'main_program.sh.txt'. De flesta nybörjare tenderar att göra samma sak och då är det inte körbart. När ovanstående kod har kopierats, ändra dess behörigheter med hjälp av följande syntax i terminalen: -

$ chmod + x main_program.sh ELLER $ chmod 755 main_program.sh

Använd gärna någon av ovanstående kommandon eftersom båda gör samma sak. I de moderna bash shell-skriptprogrammen ändras '755' till '+ x'; så det spelar ingen roll vilken du använder faktiskt. När du har ändrat behörigheterna skriver du följande för att köra det.

$. / main_program.sh

Period och snedstreck används för att identifiera och köra skalskript. När du har kört ovanstående skript kommer det att skriva ut det första ekoutdraget och sedan be dig att ange något. När du anger det kommer det att skriva ut samma sak tillbaka till dig och lämna tolkarna. Så låt mig förklara alla syntaxer ovan. '#! / Bin / bash' används för att berätta för tolkaren att detta är ett bash-skript och att Bash shell-skriptprogrammet finns i "bin" -katalogen. "Echo" -kommandot används för att skriva ut valfritt uttalande och "-e" -flaggan används för att indikera skalet att det antingen kommer att finnas en ny rad identifierad som en "snedstreck n eller \ n" eller en flik "snedstreck t eller \ t 'eller liknande som det i det ekade uttalandet. Hash-delen på den andra raden används för att identifiera en kommentar i ett bash-skript. Vad du än skriver efter hash blir kommenterat och kommer inte att köras. Men detta gäller inte "#! / Bin / bash" på den första raden. Således är manuset tänkt att fungera. Syntaxen "läst" används för att läsa alla inmatningar från användaren. Och "input" som jag har nämnt efter syntaxen "read" är variabeln där användarens inmatning lagras. Man kan använda valfri variabel istället för ingången. På den näst sista raden används $ -inmatningen för att identifiera sig själv som en variabel och mata ut den lagrade ingången inuti den. Slutligen används utgångskommandot för att lämna tolk med en ren utgångsnoll.

Oinaktivt skript

Nu är exemplet ovan ganska enkelt. Men det finns inbyggda moduler som du kan använda istället för att ge alla ingångar själv. Följande är en kodkod, som också skriver ut användarnamnet som för närvarande är inloggad, aktuell tid, kalenderdatum och antal inloggningar: -

#! / bin / bash # Detta skript kommer att skriva ut den aktuella inloggade användarinformationen, antalet inloggade användare, datum, tid och kalender echo "Hej, $ USER" echo "Dagens datum och tid är` datum '" echo" Antal användare inloggade: `vem | wc-l` ”

echo "Kalender"

cal

avsluta 0

Kör detta skript efter att ha ändrat behörigheterna för filen ovan. Nu kanske du undrar att vi i föregående skript faktiskt skrev in ingången och sedan returnerade ingången med variabeln th. Men här har vi inte tillhandahållit någon inmatning i variabeln "US USER", hur kommer det att skriva ut den exakta användaren. Det främsta skälet är att dessa saker redan är konfigurerade i systemet. Kom ihåg att jag berättade om $ SHELL tidigare i början, hur det definieras som standard? Ja, liknande är fallet med $ USER här. När det gäller datumet, om du bara skriver in 'datum' utan några offert i terminalen, kommer det att skriva ut exakt datum och tid. Jag använde bara enstaka citat (`) för att identifiera sig själv som en syntax snarare än som en del av ett ekande uttalande. Den enskilda offerten (`) kommer att utföra alla syntax som skrivs ut inuti det, vare sig det är i ett uttalande eller någon annanstans. När det gäller antalet användardel används "vem" -kommandot för att kontrollera de aktuella användare som är inloggade tillsammans med inloggade processer och datum och tid när det startades. Men när det gäller kommandot ovan, trunkerade jag det faktiskt för att bara mata ut antalet användare som loggats in med hjälp av kommandot 'wc-l'. Baren (|) eller vad den är populärt känd som rör används för att kombinera två kommandon. Pipan står faktiskt för mycket mer än så, men jag kommer inte att gå in på mycket detalj här. Och slutligen tryckte jag kalendern med hjälp av det "cal" inbyggda kommandot för att skriva ut det aktuella datumet i kalendern.

Utgången noll

Exit Zero är något som jag inte har förklarat i något av ovanstående program. Det främsta skälet till att vara "Exit Zero" har mycket mer allvar än det någon av syntaxerna ovan i Shell Scripting. Som standard, när du kör ett skript i en Linux- eller Unix-distribution, returnerar det två typer av värden eller mer specifikt utgångsstatusen för att kontrollera om exekveringen av skalskriptet är framgångsrikt eller inte. Om det returnerar värdet som noll, var exekveringen framgångsrik, annars kördes antingen inte ut eller så fanns det något fel under körningen. Således skriver du i 'exit 0' i slutet av valfritt skript kontrollens exekveringsstatus.

Alla saker jag har täckt här är bara den minst grundläggande delen av Shell-skriptet i Linux-distributionen. Utgången nolldel och röret spelar en viktig roll när du kör flera skal-skript i linux-kommandon och använder den tillsammans med villkorliga om och annat uttalanden.

Relaterade artiklar:-

Här är några artiklar som hjälper dig att få mer information om Shell-skripttyper för Linux-nybörjare så bara gå igenom länken.

  1. Shell Scripting Intervjufrågor | Topp 10 användbara frågor
  2. Linux vs Windows - Ta reda på de 9 mest häftiga skillnaderna
  3. Linuxintervjufrågor och svar | Användbart och mest frågat
  4. Karriärer inom Linux-administration
  5. Regler och föreskrifter för Shell-skriptparametrar