Beginners Guide zu BASH - Part 1 - Hallo Welt

Et gi vill Guiden am Internet ze weisen wéi d'Shell-Scripte mat BASH produzéieren an dësen Guide mengt e klengen aner Spin, well et geschriwwe gëtt vu jidderengem deen e kleng Skelett-Skript erlieft huet.

Elo mengt Dir datt dëst eng düstere Iddi ass, mee ech fannen datt e puer Guiden mat Iech schwätzen, wéi wann Dir e Fësch an Expert an aner Guiden huelen ze laang ze schéissen fir de Chase ze schneiden.

Wann ech meng LINUX / UNIX Shell Skripting Erfahrung limitéiert ass, sinn ech e Software-Entwéckler vum Handel. Ech sinn e Gutt Hand bei Skriptë Sproochen wéi PERL, PHP a VBScript.

De Punkt vun dësem Guide ass datt Dir léiert wéi ech léieren an all Informatioun déi ech huelen, ginn ech Iech.

Ufänken

Et ass evident, datt vill Teoresch, déi ech direkt direkt wéi méiglech hunn, wéi d'Beschreiwung vun de verschiddene Forme vu Schuel an d'Virdeeler vum BASH iwwer KSH an CSH ze benotzen.

Déi meescht Leit, wann eppes eppes Neies léieren wënscht a sprange mat e puer praktesch Lektiounen erof an déi éischt Gedanke maachen ech net mat der Trivia, déi net wichteg ass.

Alles wat Dir braucht fir de Guide ze hunn, ass e Texteditor an en Terminal laafen BASH (Standardfaarf op de meeschte Linux-Distributiounen).

Text Editoren

Aner Guiden, déi ech gelies hunn, proposéiert datt Dir e Texteditor benötigt deen d'Faarfkodéierung vun Kommandoen enthält an d'Recommandéiert Editoren sinn entweder VIM oder EMACS .

Faarfkodéierung ass schéin wéi et Highlights Kommandoen, wéi Dir et tippt, awer fir den absolute Startduerchs konnt Dir déi éischt Wochen fir VIM a EMACS léieren, ouni eng eenzeg Line vu Code ze schreiwen.

Vun deenen zwee, déi ech EMACS léifkucken, awer fir éierlech sinn ech léiwer een einfache Redaktor wéi Nano , gedit oder Bliederpabee benotzen.

Wann Dir Skripte op Ärem eegene Computer schreift an Dir wësst datt Dir ëmmer Zougang zu enger grafescher Ëmwelt hutt, da kënnt Dir de Redaktor wielt, dee besser ass fir Iech. Et kann entweder graphesch wéi GEdit oder e Editor sinn deen direkt am Terminal laacht wéi Nano oder Vim.

Fir den Zweck vun dësem Guide wäert ech Nano benotze wéi en natierlecht an der Majoritéit vun Linux Verdeelungen installéiert ass an et ass dofir datt Dir Zougang zu der hutt.

Öffnungszäite vun engem Terminalfënster

Wann Dir eng Linux Verdeelung mat grafeschen Desktik wéi Linux Mint oder Ubuntu benotzt, da kënnt Dir eng terminal Fënster opmaachen fir Dréckt CTRL + ALT + T.

Wou Dir Är Skripte sëtzt

Fir dës Tutorial kënnt Dir Är Skripten an engem Verwennung ënner Ärem Fichier ofzeginn.

Bannen an e Klemmfenster vergewëssert Iech datt Dir an Ärem Heemechtsblock steet, andeems Dir de kommende Kommando gitt:

CD ~

De cd Kommando steet fir Verännerunge Verännerung an de Tilde (~) ass eng Ofkiirzung fir Ären Heemechtsveräin.

Dir kënnt iwwerpréiwen datt Dir am selwechte Plaz steet, andeems Dir de kommende Kommando typech:

pwd

De pwd Kommando wäert Iech soen Ären aktuellen Aarbechtsplaaz (wou Dir am Verzeichnisbaum kënnt). An mengem Fall geet et / zréck / gary.

Elo gesitt Dir natierlech net datt Är Skripten direkt an den Heefeg setzen ze setmen, sou datt Dir e Ordner mam Numm Skripte erstellt, andeems Dir de kommende Kommando gitt.

mkdir Scripten

Änerchung an den neie Skripts Ordner andeems se de kommende Kommando tippen:

Cd Scripten

Är E Script

Et ass gewéinlech wéi wann Dir geléiert wéi Dir am éischte Programm programméiere kënnt einfach déi Wierder "Hello World".

Vun ärem Scripts folder enter den folgenden Kommando:

Nano helloworld.sh

Gitt elo den nächste Code an d'Nano-Fënster.

#! / bin / bash Echo "Hallo Welt"

Dréckt CTRL + O fir d'Datei ze speichern an CTRL + X fir op Nano ze rutschen.

De Skript selwer mécht wéi folgend:

De #! / Bin / bash muss op der Spëtzt vun all de Skripte sinn, déi Dir schreift, wéi et Dolmeteren léisst an d'Betriebssystem wësse wéi d'Datei behaalen. Grondsätzlech just drun erënnere fir et ze vergiessen an ze vergiessen, firwat Dir et mécht.

Déi zweet Zeil huet e eenzegen Uergel genannt Echo deen den Text ausgitt deen direkt ass.

Bedenkt datt wann Dir méi wéi e Wuert ugewisen huet, musst Dir doppelt Zitaten (") ëm d'Wierder benotzt.

Dir kënnt de Skript nun duerch de typeschen Kommando ausféieren:

sh helloworld.sh

D'Wierder "Hallo Welt" sollen erscheinen.

Eng aner Manéier fir Scripte ze lafen ass:

./helloworld.sh

D'Chancen sinn datt wann Dir dës Kommando direkt an Ärem Terminal leeft, kritt Dir e Permissiounenfehler.

Fir de Permissiounen z'erreechen fir de Skript op dës Manéier ze maachen, tippta folgende:

sudo chmod + x helloworld.sh

Also wat ass wierklech geschitt? Firwat konnt dir sh helloworld.sh ouni Changementer änneren, awer lafen ./helloworld.sh verursaacht en issue?

Déi éischt Methode léisst de Bëschinterpreter, deen d'helloworld.sh als en Input hëlt an erauszefanne wat et maache soll. De Bash-Interpreter huet scho Rechter fir ze lafen an just d'Befehle vum Skript ze lafen.

Déi zweet Method léisst de Betriebssystem erlaben wat mat dem Script geschitt ass an dofir e brauch e executable Bit fir ze féieren.

Dee virdrun Skript war ok, awer wat geschitt wann Dir d'Zitaten ugefrot wëllt?

Et gi verschidde Weeër fir dëst z'erreechen. Zum Beispill kënnt Dir e Réckblat an d'Zitat markéieren:

Echo "Hallo Welt"

Dëst wäert d'Output "Hallo Welt" produzéieren.

Waart eng Minute awer, wéi wann Dir "Hallo Welt" liest?

Well Dir kënnt och de Fluchzeechen entweckelen

Echo \\ "\" Hallo Welt \\ "\"

Dëst wäert d'Ausgaass "Hallo Welt" produzéieren.

Elo weess ech wat Dir denkt. Awer ech wëll ech wierklech \\ "\" Hallo Welt \\ "\"

Ech Echo mat all dës Fluchzeechen kënne ganz nawell erginn. Et ass e alternativen Kommando deen Dir benotzt mam Numm called printf.

Zum Beispill:

printf '% s \ n' '\\ "\" Hallo Welt \\ "\"'

Bedenkt datt de Text, deen mer wëlle weisen, ass tëscht zwou Zitater. De Kommando printf kënnt aus Ärem Skript eraus. De% s heescht, datt et e String an der neier Ausgrenze gëtt.

Summary

Mir hunn net vill iwwerall deelhëlt, awer hoffentlech hutt Dir Är éischt Skript.

An den nächsten Deel wäerte mir kucken op d'Verbesserung vum Hiello Welt Skript, fir Text an verschiddene Faarwen ze weisen, akzeptéieren an handhaben Parameteren, Variablen a kommentéieren Äre Code.