Neatkarīgi no Linux izplatīšanas, ko mēs izmantojam, "bez šaubām, mans mīļākais ir Ubuntu", tiklīdz mēs sākam izmantot šo sistēmu, noteikti automatizācijas vajadzībām. Tas ir teikt: izveidojiet mūsu savas komandas kas personalizēti izpilda noteiktas komandas. Šī vajadzība var būt dažu iemeslu dēļ:
- Vienkāršojiet sintaksi no komandām, kuras mēs parasti izpildām.
- Veiciet darbības, kas attiecas uz jebkuru vajadzība, kas sistēmā nav paredzēta operatīva.
- Secības pasūtījumi ka mēs neatlaidīgi atkārtojam.
Lai gan bash skriptu var palaist / no jebkura direktorija, tas parasti ir izveidojiet direktoriju šo skriptu mitināšanai. Manā gadījumā:
$ mkdir /home/pedro/.bin
Es tam ticu direktorijs (paslēpts, ievadot punktu nosaukuma priekšā) turēt visus skriptus, kurus es tur izmantoju. Tai, ka direktorijas nosaukums ir paslēpts, nav citas nozīmes kā - ja vien nav skaidri norādīts citādi - neparādīsies, skatot / home / pedro no failu skatītāja grafiskajā režīmā.
Tagad jums tas jādara informējiet Linux, ka tam arī vajadzētu tur meklēt (/home/pedro/.bin) pasūtījumi, kas tiek izpildīti no termināla.
$ PATH=$PATH;/home/pedro/.bin
Tādā veidā sistēma meklēs mūsu pasūtījumus tur līdz sesiju slēgsim. Lai šī apvienība būtu pastāvīga:
$ sudo nano /etc/environment
un mēs pievienojam
:/home/pedro/.bin
PATH rindas beigās ir ļoti svarīgi neaizmirst kolu pirms direktorijas adreses, kuru mēs iekļaujam, jo tas ir pievienošanas mehānisms.
Mūsu pirmais soli pa solim skripts
Mēs izveidojam savu failu, piemēram, manā gadījumā:
$ touch ~/.bin/donde
Lai to rediģētu, varat izmantot vēlamo redaktoru vai sekot šai norādei:
$ gedit ~/.bin/donde &
Mēs pievienojam šādu saturu:
#!/usr/bin/env bash if [ $# -lt 1 ]; then echo "Necesitas pasar un parámetro" else whereis $1 fi
Skriptu analīze
Mūsu pirmā zvana līnija «zaņķis»(#! / Usr / bin / env bash) lūgt Linux ziņot kur atrodas bash apvalks un tas, kas seko, tiek izpildīts atbilstoši Boša prasībām. Šis piesardzības pasākums par to ir ērti pārliecināties mūsu skripti darbojas jebkurā instalācijā. Vēl viena iespējama zaņķis viņš iesmējās:
#!/bin/bash
Atšķirība starp tām var būt ļoti neparasta, un es to paskaidrošu. Šajā pēdējā Es pieņemu, ka mūsu sistēmā bash apvalks atrodas adresē / bin / bash. Tomēr tur, kur es ierosinu scenārijā Es domāju, ka es nezinu, kur tas atrodas bas tulks. Es lūdzu sistēmu viņam norādīt šo adresi.
Trešā rinda: Kā redzat, otrā rinda ir ja. Par bash rakstzīmes «$#« satur parametru skaitu, ko mēs nododam no komandrindas. Tāpēc »ja [$ # -lt 1];» burtiski nozīmē "ja parametru skaits ir mazāks par 1".
Ceturtā rinda: Tad (burtiski tulkojot no angļu valodas: tad), šeit ir norādīts, ka tas, kas notiks tālāk tiks izpildīts, kad stāvokļa novērtējums if esi patiess: citiem vārdiem sakot, parametru skaits ir mazāks par 1, tas ir, nulle.
Piektā rinda: ja izpildīsim skriptu bez parametriem, terminālā parādīsim «Jums ir jānodod parametrs».
Sestā līnija: Norāda, ka sekojošais tiks izpildīts kad mūsu deklarētais nosacījums nav patiess.
Septītā līnija: Se palaist komandu «kur ir« pievienots saturs, kuru mēs esam nodevuši pirmais parametrs.
Astotā rinda: ar «fi»Norāda, ka bloks beidzas if.
Pārbauda mūsu skriptu
Ir svarīgi pievienot rakstīšanas atļaujas uz skriptu:
$ chmod -x ~/.bin/donde
Bez tā parādīsies kļūda "atteikta atļauja".. Pēc tam mēs varam palaist mūsu skriptu.
$ donde php
Tam vajadzētu parādīt mums PHP bināro failu, to avota failu un manas lapu atrašanās vietu. Kaut kas tamlīdzīgs:
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
Atkārtojums
- Mēs iespējojam a direktoriju ".bin", lai ievietotu mūsu skriptus.
- Mēs nodrošinam informāciju Linux, lai iekļautu šo direktoriju komandu meklējumos.
- Mēs izveidojam savu scenāriju.
- Atšķirība starp savādāk zaņķis.
- Izmantošana ar $ # nodoto parametru skaits.
- Izmantošana pirmais parametrs ar $1.
Es ceru un vēlos, lai šis skripts jums būtu noderīgs.
Ļoti labi un labi izskaidroti, bet uz ko attiecas parametrs?
Paldies Migelam!
Pēc parametra es saprotu visu papildu informāciju, kas tiek piegādāta programmai, funkcijai vai sistēmai. Tā kā tas var būt apgrūtinoši, ļaujiet man jums atbildēt ar dažiem piemēriem.
Komandā linux, lai kopētu failu a.txt failā b.txt, mēs rakstīsim šādi:
$cp a.txt b.txt
Šeit programma cp saņem divus parametrus, kas ir divu failu nosaukumi: pirmais (jābūt) a.txt un otrais b.txt.
Vēl viens piemērs: ja sūtāt drukāšanai no konsoles ar komandu
$ lp fails.pdf
Šajā gadījumā "file.pdf" ir lp programmas parametrs.
Es ceru, ka esmu apmierinājis jūsu šaubas.
Sveicieni
Mani komentāri neiznāk, tas ir cieņas trūkums, es vairs neatgriezos šajā forumā.
Es nezinu, kas ir noticis, katrā ziņā tas ir publicēts.
Sveicieni.