Guia de principiants a BASH - Part 1 - Hello World

Hi ha moltes guies a Internet que mostren com crear seqüències de comandaments Shell amb BASH i aquesta guia té com a objectiu donar un gir lleugerament diferent perquè està escrit per algú que té una experiència de scripting molt petita.

Ara podeu pensar que aquesta és una idea tonta, però em sembla que algunes guies us parlen com si ja era un expert i altres guies triguen massa a tallar-se a la persecució.

Tot i que la meva experiència de seqüències de comandaments de shell LINUX / UNIX és limitada, sóc desenvolupador de programari per comerç i sóc una màquina dab en llenguatges de script com PERL, PHP i VBScript.

El punt d'aquesta guia és que aprendreu mentre aprenc i que qualsevol informació que torno us transmetrà.

Començant

Naturalment, hi ha molta teoria que us podria transmetre de seguida, com ara descriure els diferents tipus de closques i els avantatges d'utilitzar BASH sobre KSH i CSH.

La majoria de la gent a l'hora d'aprendre alguna cosa nova vol entrar i començar amb algunes lliçons pràctiques i, amb això en ment, no us portaré a trivis que no és important ara mateix.

Tot el que necessiteu per seguir aquesta guia és un editor de text i un terminal que executa BASH (el shell predeterminat en la majoria de les distribucions de Linux).

Editors de text

Altres guies que he llegit han suggerit que necessiteu un editor de text que inclogui la codificació de codis de colors i els editors recomanats siguin VIM o EMACS .

La codificació de colors és agradable, ja que destaca els comandaments a mesura que els escriu, però per al principiant absolut, podeu passar les primeres setmanes a aprendre VIM i EMACS sense escriure una única línia de codi.

Dues de les dues prefereixo EMACS però, per ser honest, prefereixo utilitzar un editor senzill com nano , gedit o full de càlcul.

Si esteu escrivint scripts a la vostra pròpia computadora i sabeu que sempre tindreu accés a un entorn gràfic, podeu triar l'editor que funcioni millor per a vos i pot ser gràfic, com ara GEdit o un editor que s'executi directament al terminal. com nano o vim.

Als efectes d'aquesta guia utilitzaré nano ja que s'instal·la de forma nativa a la majoria de les distribucions de Linux i, per tant, és probable que tingueu accés.

Obertura d'una finestra de terminal

Si utilitzeu una distribució de Linux amb un escriptori gràfic com Linux Mint o Ubuntu, podeu obrir una finestra de terminal prement CTRL + ALT + T.

On posar els vostres scripts

Per als propòsits d'aquest tutorial, podeu posar els vostres scripts en una carpeta a la vostra carpeta d'inici.

Dins d'una finestra de terminal, assegureu-vos que esteu a la vostra carpeta d'inici escrivint el següent comandament:

cd ~

La comanda cd significa el directori de canvis i la tilde (~) és una drecera per a la vostra carpeta d'inici.

Podeu comprovar que esteu en el lloc correcte escrivint el següent comandament:

pwd

L'ordre pwd us dirà el vostre directori de treball actual (on es troba a l'arbre de directoris). En el meu cas va tornar / home / gary.

Ara, òbviament, no voldreu posar els vostres scripts directament a la carpeta d'inici per crear una carpeta anomenada scripts escrivint el següent comandament.

scripts mkdir

Canvieu a la nova carpeta de seqüències d'ordres escrivint el següent comandament:

scripts de cd

El teu primer guió

És habitual acostumar-se a programar perquè el primer programa simplement emeti les paraules "Hello World".

Des de la carpeta de seqüències d'ordres, introduïu l'ordre següent:

nano helloworld.sh

Introduïu el següent codi a la finestra de nano.

#! / bin / bash echo "hola món"

Premeu CTRL + O per desar el fitxer i CTRL + X per sortir del nano.

El propi script es compon de la següent manera:

El #! / Bin / bash s'ha d'incloure a la part superior de totes les seqüències d'ordres que escriviu, ja que permet als intèrprets i el sistema operatiu sap com manejar el fitxer. Bàsicament, només recordeu deixar-lo entrar i oblidar-se per què ho fa.

La segona línia té un únic comandament anomenat echo que produeix el text que el segueix immediatament.

Tingueu en compte que si voleu mostrar més d'una paraula, heu d'utilitzar les cometes dobles (") al voltant de les paraules.

Ara podeu executar el script escrivint el següent comandament:

sh helloworld.sh

Haurien d'aparèixer les paraules "hello world".

Una altra forma d'executar scripts és la següent:

./helloworld.sh

Les possibilitats són que si executeu aquesta ordre al vostre terminal immediatament obtindreu un error de permisos.

Per concedir permisos per executar l'script d'aquesta manera, escriviu el següent:

sudo chmod + x helloworld.sh

Llavors, què va passar allà? Per què heu pogut executar sh helloworld.sh sense canviar els permisos sinó que s'executa ./helloworld.sh ha causat un problema?

El primer mètode carrega l'intèrpret bash que porta l'helloworld.sh com a entrada i explica què fer amb ell. L'intèrpret bash ja té permisos per executar i només necessita executar les ordres en el script.

El segon mètode permet que el sistema operatiu sàpiga què fer amb el script i, per tant, requereix un bit executable per poder executar.

L'script anterior està bé, però què passa si voleu mostrar les cometes?

Hi ha diverses maneres d'aconseguir-ho. Per exemple, podeu posar una barra invertida abans de les cometes de la manera següent:

eco \ "hola món \"

Això produirà el resultat "hello world".

Espereu un minut però, i si voleu mostrar \ "hola món \"?

Bé, pots escapar dels personatges d'escapament també

echo \\ "\" hola món \\ "\"

Això produirà la sortida \ "món hola \".

Ara sé el que estàs pensant. Però realment vull mostrar \\ "\" hola món \\ "\"

L'ús de l'eco amb tots aquests personatges d'escapament pot ser bastant tonto. Hi ha un comandament alternatiu que podeu utilitzar anomenat printf.

Per exemple:

printf '% s \ n' '\\ "\" hola món \\ "\"'

Tingueu en compte que el text que volem mostrar està entre cometes simples. L'ordre printf publica text del vostre script. El% s vol dir que mostrarà una cadena, el \ n produeix una nova línia.

Resum

En realitat, no hem cobert massa terreny en la primera part, però esperem que tinguis el primer treball de guió.

A la part següent, veurem millorar a l'escriptori del món de l'hola per mostrar text en diferents colors, acceptar i gestionar paràmetres d'entrada, variables i comentar el codi.