Riippumatta siitä, mitä Linux-jakelua käytämme, ― epäilemättä siitä, että suosikkini on Ubuntu― heti, kun ryhdymme tämän järjestelmän käyttöön, varma automaatiotarpeet. Eli: luo meidän omia komentoja jotka suorittavat tiettyjä komentoja henkilökohtaisella tavalla. Tämä tarve voi johtua tietyistä syistä:
- Yksinkertaista syntaksia tavallisista komennoista.
- Tee toimia, jotka kattavat kaikki tarvetta, jota ei ennakoida järjestelmässä toimintakykyinen.
- Järjestysjärjestykset jonka toistamme uskoisesti.
Vaikka bash-komentosarja voidaan ajaa mistä tahansa hakemistosta, se on yleensä luo hakemisto isännöimään näitä komentosarjoja. Minun tapauksessani:
$ mkdir /home/pedro/.bin
Uskon tämän hakemisto (piilotettu johtamalla piste nimen edessä) pitämään kaikki siellä käyttämäni komentosarjat. Hakemiston nimen piilottamisella ei ole muuta merkitystä kuin - ellei nimenomaisesti toisin mainita - ei tule näkyviin, kun tiedostoja katsellaan / home / pedroa graafisessa tilassa.
Nyt sinun täytyy ilmoita Linuxille, että sen pitäisi myös katsoa sinne (/home/pedro/.bin) tilaukset, jotka suoritetaan päätelaitteelta.
$ PATH=$PATH;/home/pedro/.bin
Tällä tavalla järjestelmä etsii tilauksiamme siellä kunnes lopetamme istunnon. Jotta tämä yhdistys olisi pysyvä:
$ sudo nano /etc/environment
ja lisäämme
:/home/pedro/.bin
PATH-rivin lopussa on erittäin tärkeää unohtaa kaksoispiste ennen hakemiston osoitetta, jonka sisällytämme, koska tämä on lisäysmekanismi.
Ensimmäinen askel askeleelta käsikirjoituksemme
Luomme tiedostomme, kuten minun tapauksessani:
$ touch ~/.bin/donde
Ja voit muokata sitä käyttämällä haluamaasi muokkausohjelmaa tai seuraamalla tätä ohjetta:
$ gedit ~/.bin/donde &
Ja lisäämme seuraavan sisällön:
#!/usr/bin/env bash
if [ $# -lt 1 ];
then
echo "Necesitas pasar un parámetro"
else
whereis $1
fi
Komentosarjan analyysi
Ensimmäinen puhelulinja «jittu»(#! / Usr / bin / env bash) pyydä Linuxia raportoimaan missä bash-kuori sijaitsee ja että seuraava tapahtuu Bashin vaatimusten mukaisesti. Tämä varotoimi se on kätevää varmistaa skriptimme toimivat missä tahansa asennuksessa. Toinen mahdollinen jittu hän nauroi:
#!/bin/bash
Niiden välinen ero voi olla hyvin outo, ja selitän sen. Tässä viimeisessä Oletan sen järjestelmässämme bash-kuori on / bin / bash-osoitteessa. Kuitenkin, jos ehdotan käsikirjoituksessa En tiedä missä se on bashin tulkki. Pyydän järjestelmää antamaan kyseisen osoitteen.
Kolmas rivi: Kuten näette, toinen rivi on if. Bashille merkit «$#« sisältää komentoriviltä välitettävien parametrien määrän. Siksi »jos [$ # -lt 1];» kirjaimellisesti tarkoittaa "jos parametrien määrä on alle 1".
Neljäs rivi: Sitten (kirjaimellisesti käännettynä englannista: sitten), tässä osoitetaan, että mitä tulee seuraavaksi suoritetaan kun arvioidaan ehtoa if olla totta: toisin sanoen parametrien lukumäärä on pienempi kuin 1, eli nolla.
Viides rivi: Jos suoritamme komentosarjamme ilman parametreja, terminaalissa näkyy «Sinun on välitettävä parametri».
Kuudes rivi: Ilmaisee, että seuraava tapahtuu kun ilmoittamamme ehto ei ole totta.
Seitsemäs rivi: Se Suorita komento «missä on« mukana sisältö, jonka olemme välittäneet ensimmäinen parametri.
Kahdeksas rivi:fi»Ilmaisee, että lohko päättyy if.
Testataan käsikirjoitustamme
On tärkeää, lisää kirjoitusoikeudet käsikirjoitukseen:
$ chmod -x ~/.bin/donde
Ilman tätä näyttöön tulee virhe "lupa evätty".. Sen jälkeen voimme suorittaa komentosarjamme.
$ donde php
Sen pitäisi näyttää meille php-binaarien sijainti, niiden lähdetiedostot ja man-sivut. Jotain sellaista:
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
Kertaus
- Otamme käyttöön a ".bin" -hakemisto komentosarjojemme sijoittamiseksi.
- Me tarjoamme tietoja Linuxille tämän hakemiston sisällyttämiseksi komentohakuunsa.
- Luomme käsikirjoituksemme.
- Ero eri jittu.
- Käyttö parametrilla $ # välitetty parametrien määrä.
- Käyttö ensimmäinen parametri kanssa $1.
Toivon ja toivon, että tämä käsikirjoitus on sinulle hyödyllinen.