Búðu til eigin handrit með því að nota bash

Að læra Linux

Burtséð frá Linux dreifingunni sem við erum að nota, eflaust er uppáhaldið mitt Ubuntu― um leið og við komumst í notkun þessa kerfis, viss sjálfvirkni þarfnast. Það er: búa til okkar eigin skipanir sem framkvæma ákveðnar skipanir á persónulegan hátt. Þessi þörf getur verið vegna ákveðinna orsaka:

  • Einfaldaðu setningafræði af skipunum sem við framkvæmum venjulega.
  • Grípa til aðgerða sem ná til allra þörf sem ekki er gert ráð fyrir í kerfinu rekstrarleg.
  • Raðpantanir sem við endurtökum ákaft.

Þó að hægt sé að keyra bash handrit í / úr hvaða skrá sem er, þá er það venjulega búið til skrá til að hýsa þessi forskriftir. Í mínu tilfelli:

$ mkdir /home/pedro/.bin

Ég trúi þessu skráarsafn (falið með því að leiða tímabilið fyrir framan nafnið) að hafa öll handritin sem ég nota þar. Að nafn skráasafnsins sé falið hefur enga aðra merkingu en - nema annað sé sérstaklega tekið fram - mun ekki birtast þegar þú skoðar / home / pedro frá skráaskoðara í myndrænni stillingu.

Nú verður þú að gera það upplýstu Linux um að það ætti líka að líta þangað (/home/pedro/.bin) pantanirnar sem eru framkvæmdar frá flugstöðinni.

$ PATH=$PATH;/home/pedro/.bin

Á þennan hátt mun kerfið leita að pöntunum okkar þar þar til við lokum þinginu. Að gera þessi samtök varanleg:

$ sudo nano /etc/environment

og við bætum við

:/home/pedro/.bin

í lok PATH línunnar er mjög mikilvægt að gleyma ekki ristlinum áður en heimilisfang skráasafnsins sem við erum með, þar sem þetta er viðbótarbúnaðurinn.

Fyrsta handrit okkar skref fyrir skref

Við búum til skrána okkar, svona í mínu tilfelli:

$ touch ~/.bin/donde

Og til að breyta því geturðu notað ritstjórann þinn eða fylgst með þessari ábendingu:

$ gedit ~/.bin/donde &

Og við bætum við eftirfarandi efni:

#!/usr/bin/env bash

if [ $# -lt 1 ];
then
    echo "Necesitas pasar un parámetro"
else
    whereis $1
fi

Greining handrita

Fyrsta símalínan okkar «shebang»(#! / Usr / bin / env bash) biðja Linux að tilkynna hvar er bash skel staðsett og að það sem hér fer á eftir sé framkvæmt í samræmi við kröfur bash. Þessi varúðarráðstöfun það er þægilegt að ganga úr skugga um það handritin okkar vinna við hvaða uppsetningu sem er. Annað mögulegt shebang hann hló:

#!/bin/bash

Munurinn á þeim getur verið mjög æði og ég mun útskýra það. Í þessari síðustu Ég geri ráð fyrir því í okkar kerfi bash shell er á / bin / bash netfanginu. Hins vegar þar sem ég legg til í handritinu Ætli ég viti ekki hvar það er bash túlkurinn. Ég bið kerfið fyrir hann að gefa upp heimilisfangið.

Þriðja línan: Eins og þú sérð er önnur línan ef. Til að bash stafina «$#« innihalda fjölda breytna sem við erum að fara frá stjórn línunni. Þess vegna, »ef [$ # -lt 1];» þýðir bókstaflega „ef fjöldi breytna er minni en 1“.

Fjórða lína: Þá (þýtt bókstaflega úr ensku: þá), hér er gefið til kynna að það sem kemur næst verður framkvæmt þegar ástandsmatið if Vertu sannur: með öðrum orðum, fjöldi breytna er minni en 1, það er núll.

Fimmta lína: Ef við framkvæmum handritið okkar án nokkurra breytna munum við sýna í flugstöðinni „Þú þarft að senda færibreytu“.

Sjötta línan: Gefur til kynna að það sem hér fer á eftir verði framkvæmt þegar skilyrðið sem við höfum lýst er ekki satt.

Sjöunda lína: Se keyrðu skipunina «hvar er« ásamt því efni sem við höfum staðist sem fyrsta færibreytan.

Áttunda lína: með «fi»Gefur til kynna að lokunin endi if.

Prófaðu handritið okkar

Það er mikilvægt bæta við skrifheimildum við handritið:

$ chmod -x ~/.bin/donde

Án þessa myndi villa „leyfi hafnað“ birtast.. Eftir það getum við keyrt handritið okkar.

$ donde php

Það ætti að sýna okkur staðsetningu php tvöfaldanna, heimildaskrár þeirra og mannasíðna. Eitthvað svoleiðis:

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

Endurskoðun

  • Við gerum a ".bin" skrá til að hýsa handritin okkar.
  • Við bjóðum upp á upplýsingar til Linux til að fela þessa skrá í stjórnleitum sínum.
  • Við búum til handritið okkar.
  • Munurinn á milli öðruvísi shebang.
  • Not fyrir fjöldi breytna sem sendar voru með $ #.
  • Not fyrir fyrsta færibreytan með $1.

Ég vona og óska ​​að þetta handrit nýtist þér.


Innihald greinarinnar fylgir meginreglum okkar um siðareglur ritstjórnar. Til að tilkynna um villu smelltu hér.

4 athugasemdir, láttu þitt eftir

Skildu eftir athugasemd þína

Netfangið þitt verður ekki birt.

*

*

  1. Ábyrgðarmaður gagna: Miguel Ángel Gatón
  2. Tilgangur gagnanna: Control SPAM, umsögn stjórnun.
  3. Lögmæti: Samþykki þitt
  4. Samskipti gagna: Gögnunum verður ekki miðlað til þriðja aðila nema með lagalegri skyldu.
  5. Gagnageymsla: Gagnagrunnur sem Occentus Networks (ESB) hýsir
  6. Réttindi: Hvenær sem er getur þú takmarkað, endurheimt og eytt upplýsingum þínum.

  1.   Miguel sagði

    Mjög gott og vel útskýrt, en hvað vísar færibreytur til?

    1.    Ímynd Pedro Ruiz Hidalgo sagði

      Takk Miguel!

      Ég skil með breytu allar viðbótarupplýsingar sem koma til forrits, aðgerðar eða kerfis. Þar sem þetta getur verið þunglamalegt, leyfi ég mér að svara þér með nokkrum dæmum.

      Í linux skipuninni til að afrita skrána a.txt yfir í skrána b.txt myndum við skrifa eftirfarandi:

      $ cp a.txt b.txt

      CP forritið fær hér tvær breytur sem eru heiti tveggja skrár, sú fyrsta (verður að vera til) a.txt og hin b.txt.

      Annað dæmi: Ef þú sendir til að prenta úr vélinni með skipuninni

      $ lp file.pdf

      Í þessu tilfelli er „file.pdf“ breytu fyrir lp forritið.

      Ég vona að ég hafi fullnægt efasemdum þínum.

      kveðjur

  2.   Miguel sagði

    Athugasemdir mínar koma ekki fram, það er skortur á virðingu, ég kem ekki aftur á þennan vettvang.

    1.    Ímynd Pedro Ruiz Hidalgo sagði

      Ég veit ekki hvað hefur gerst, í öllu falli hefur það verið birt.

      Kveðjur.

bool (satt)