Készítse el saját szkriptjeit a bash használatával

Linux tanulása

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.