Bez ohľadu na distribúciu Linuxu, ktorú používame, ― niet pochýb o tom, že môj obľúbený je Ubuntu―, hneď ako začneme používať tento systém, určité potreby automatizácie. To znamená: vytvorte náš vlastné príkazy ktoré vykonávajú určité príkazy osobným spôsobom. Táto potreba môže byť spôsobená určitými príčinami:
- Zjednodušte syntax príkazov, ktoré zvyčajne vykonávame.
- Vykonajte akcie, ktoré sa vzťahujú na akékoľvek potreba, ktorá sa v systéme nepredpokladá funkčné.
- Poradie objednávok že vytrvalo opakujeme.
Hoci bash skript je možné spustiť v / z ľubovoľného adresára, je to zvyčajne vytvorte adresár na hosťovanie týchto skriptov. V mojom prípade:
$ mkdir /home/pedro/.bin
Ja tomu verím adresár (skrytý pred bodkou pred menom) aby tam boli všetky skripty, ktoré tam používam. To, že je názov adresára skrytý, nemá žiadny iný význam ako - pokiaľ nie je výslovne uvedené inak - sa nezobrazí pri prezeraní / home / pedro z prehliadača súborov v grafickom režime.
Teraz musíš informujte Linux, že by sa to malo tiež pozrieť tam (/home/pedro/.bin) príkazy, ktoré sa vykonávajú z terminálu.
$ PATH=$PATH;/home/pedro/.bin
Týmto spôsobom tam systém vyhľadá naše objednávky kým reláciu neukončíme. Aby bolo toto združenie trvalé:
$ sudo nano /etc/environment
a pridáme
:/home/pedro/.bin
na konci riadku PATH je veľmi dôležité nezabudnúť na dvojbodku pred adresárom, ktorý zahrňujeme, pretože toto je mechanizmus pridávania.
Náš prvý podrobný skript
Vytvoríme náš súbor, v mojom prípade takto:
$ touch ~/.bin/donde
Ak ho chcete upraviť, môžete použiť preferovaný editor alebo postupovať podľa týchto pokynov:
$ gedit ~/.bin/donde &
A pridáme nasledujúci obsah:
#!/usr/bin/env bash
if [ $# -lt 1 ];
then
echo "Necesitas pasar un parámetro"
else
whereis $1
fi
Analýza skriptov
Naša prvá linka hovoru «šebang»(#! / Usr / bin / env bash) požiadať Linux o hlásenie kde sa nachádza bash shell a že to, čo nasleduje, sa vykoná podľa požiadaviek bash. Toto opatrenie je vhodné sa uistiť, že naše skripty fungujú pri akejkoľvek inštalácii. Ďalšia možná šebang smial sa:
#!/bin/bash
Rozdiel medzi nimi môže byť veľmi podivný a vysvetlím to. V tomto poslednom Predpokladám, že v našom systéme bash shell je na adrese / bin / bash. Avšak tam, kde navrhujem v scenári Asi neviem, kde to je tlmočník bash. Žiadam systém, aby túto adresu poskytol.
Tretí riadok: Ako vidíte, druhý riadok je znakom if. Pre bash znaky «$#« obsahovať počet parametrov, ktoré odovzdávame z príkazového riadku. Preto »ak [$ # -lt 1];» doslovne znamená „ak je počet parametrov menší ako 1“.
Štvrtý riadok: Potom sa treba (doslovný preklad z angličtiny: potom), tu je naznačené, čo bude nasledovať sa vykoná pri vyhodnotení stavu if byť pravdivý: inými slovami, počet parametrov je menší ako 1, to znamená nula.
Piaty riadok: Ak vykonáme náš skript bez akýchkoľvek parametrov, ukážeme v termináli «Musíte zadať parameter».
Šiesty riadok: Označuje, že sa vykoná nasledujúce keď podmienka, ktorú sme deklarovali, nie je pravda.
Siedmy riadok: Se spustiť príkaz «kde je« sprevádzaný obsahom, ktorý sme prešli ako prvý parameter.
Ôsmy riadok: s «fi»Označuje, že blok končí if.
Testuje sa náš skript
Je dôležité, pridať oprávnenie na zápis do scenára:
$ chmod -x ~/.bin/donde
Bez toho by sa zobrazila chyba „povolenie odmietnuté“.. Potom môžeme spustiť náš skript.
$ donde php
Malo by nám zobraziť umiestnenie binárnych súborov php, ich zdrojových súborov a manuálových stránok. Niečo také:
php: /usr/bin/php7.0 /usr/bin/php /usr/lib/php /etc/php /usr/share/php7.0-readline /usr/share/php7.0-json /usr/share/php7.0-opcache /usr/share/php7.0-common /usr/share/php /usr/share/man/man1/php.1.gz
Rekapitulácia
- Umožňujeme a adresár „.bin“ na umiestnenie našich skriptov.
- Zabezpečujeme informácie do systému Linux, aby tento adresár zahrnul do svojich vyhľadávaní príkazov.
- Vytvárame náš skript.
- Rozdiel medzi rozdielny šebang.
- Použitie počet parametrov odovzdaných s $ #.
- Použitie prvý parameter s $1.
Dúfam a želám si, aby bol tento skript pre vás užitočný.