Függetlenül az általunk használt Linux disztribúciótól, ― nem kétséges, hogy a kedvencem az Ubuntu―, amint belekezdünk ennek a rendszerbe, bizonyos automatizálási igények. Vagyis: hozza létre a mi saját parancsokat amelyek személyre szabottan hajtanak végre bizonyos parancsokat. Ennek az igénynek bizonyos okai lehetnek:
- Egyszerűsítse a szintaxist a parancsok közül, amelyeket általában végrehajtunk.
- Bármelyre kiterjedő intézkedéseket tegyen a rendszerben nem előrelátható szükséglet működőképes.
- Sorrendek hogy szorgalmasan ismételjük.
Bár egy bash szkript futtatható bármely könyvtárban / bármely könyvtárból, általában az hozzon létre egy könyvtárat a szkriptek tárolására. Esetemben:
$ mkdir /home/pedro/.bin
Ezt elhiszem könyvtár (elrejtve a periódus vezetésével a név előtt) hogy ott tartsam az összes általam használt szkriptet. Annak, hogy a könyvtár neve el van rejtve, nincs más jelentése, csak - hacsak kifejezetten másként nem írjuk - nem jelenik meg, amikor a / home / pedro fájlt nézi grafikus módban.
Most meg kell tájékoztassa a Linuxot, hogy ott is meg kell néznie (/home/pedro/.bin) a terminálról végrehajtott megbízások.
$ PATH=$PATH;/home/pedro/.bin
Ily módon a rendszer ott keresi megrendeléseinket amíg be nem zárjuk az ülést. Hogy ez az egyesület állandó legyen:
$ sudo nano /etc/environment
és hozzátesszük
:/home/pedro/.bin
a PATH sor végén nagyon fontos, hogy ne felejtsük el a kettőspontot a könyvtár címe előtt, amelyet felveszünk, mivel ez az összeadási mechanizmus.
Első lépésről lépésre forgatókönyvünk
Létrehozzuk a fájlunkat, esetemben így:
$ touch ~/.bin/donde
A szerkesztéshez használhatja a kívánt szerkesztőt, vagy kövesse ezt a jelzést:
$ gedit ~/.bin/donde &
És hozzáadjuk a következő tartalmat:
#!/usr/bin/env bash
if [ $# -lt 1 ];
then
echo "Necesitas pasar un parámetro"
else
whereis $1
fi
Script elemzés
Első hívó vonalunk «kunyhó»(#! / Usr / bin / env bash) kérje meg a Linuxot, hogy jelentse ahol a bash héj található és hogy mi következik, azt Bash követelményeinek megfelelően hajtják végre. Ez az elővigyázatosság kényelmes megbizonyosodni arról szkriptjeink bármilyen telepítésnél működnek. Egy másik lehetséges kunyhó nevetett:
#!/bin/bash
A különbség közöttük nagyon furcsa lehet, és elmagyarázom. Ebben az utolsóban Feltételezem, hogy a rendszerünkben a bash shell a / bin / bash címen található. Azonban ahol javaslom a forgatókönyvben Azt hiszem, nem tudom, hol van a bash tolmács. Kérem a rendszert, hogy adja meg ezt a címet.
Harmadik sor: Amint láthatja, a második sor egy if. A bash számára a karakterek «$#« tartalmazza a parancssorból átadott paraméterek számát. Ezért »ha [$ # -lt 1];» szó szerint azt jelenti, "ha a paraméterek száma kevesebb, mint 1".
Negyedik sor: Majd (szó szerint angolból fordítva: akkor), itt jelzik, hogy mi következik állapotfelméréskor kerül végrehajtásra if igaznak lenni: más szavakkal, a paraméterek száma kevesebb, mint 1, azaz nulla.
Ötödik sor: Ha a szkriptünket paraméterek nélkül hajtjuk végre, akkor a terminálon megjelenik a «Be kell adnod egy paramétert».
Hatodik sor: Azt jelzi, hogy a következőket végrehajtják amikor az általunk deklarált feltétel nem igaz.
Hetedik sor: Se futtassa a parancsot «hol van« az általunk átadott tartalom kíséretében első paraméter.
Nyolcadik sor: «fi»Jelzi, hogy a blokk véget ér if.
Szkriptünk tesztelése
Fontos írási engedélyeket adhat hozzá a szkripthez:
$ chmod -x ~/.bin/donde
Enélkül egy "engedély megtagadva" hiba jelenik meg.. Ezt követően futtathatjuk a szkriptünket.
$ donde php
Meg kell mutatnia a php binárisok, a forrásfájlok és a man oldalak helyét. Valami hasonló:
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
Összefoglalás
- Engedélyezzük a ".bin" könyvtár a szkriptjeink elhelyezéséhez.
- Biztosítjuk információkat a Linux számára, hogy a könyvtár bekerüljön a parancskeresésbe.
- Mi készítjük a szkriptünket.
- A különbség köztük különböző kunyhó.
- Használata átadott paraméterek száma a # # értékkel.
- Használata első paraméter a $1.
Remélem és kívánom, hogy ez a szkript hasznos legyen az Ön számára.