Без обзира на Линук дистрибуцију коју користимо, „не сумњам да ми је најдражи Убунту― чим уђемо у употребу овог система, одређени потребе аутоматизације. Односно: створите наше сопствене команде који извршавају одређене команде на персонализован начин. Ова потреба може бити због одређених узрока:
- Поједноставите синтаксу наредби које обично извршавамо.
- Предузмите радње које покривају било који потреба која није предвиђена у систему оперативни.
- Редослед редоследа које марљиво понављамо.
Иако се басх скрипта може покренути у било којем директоријуму, то је обично креирајте директоријум за хостовање ових скрипти. У мом случају:
$ mkdir /home/pedro/.bin
Верујем у ово директоријум (скривен водећом тачком испред имена) да тамо држим све скрипте које користим. То што је име директорија скривено нема друго значење осим - уколико није изричито наведено другачије - неће се појавити приликом прегледа / хоме / педро из прегледача датотека у графичком режиму.
Сад мораш обавестите Линук да и тамо треба да погледа (/хоме/педро/.бин) налози који се извршавају са терминала.
$ PATH=$PATH;/home/pedro/.bin
На овај начин систем ће тамо тражити наше поруџбине док не затворимо сесију. Да ово удружење постане трајно:
$ sudo nano /etc/environment
и додајемо
:/home/pedro/.bin
на крају реда ПАТХ, веома је важно не заборавити двотачку испред адресе директоријума који укључујемо, јер ово је механизам сабирања.
Наш први корак-по-корак скрипта
Ми креирамо нашу датотеку, овако у мом случају:
$ touch ~/.bin/donde
А да бисте га уредили, можете користити жељени уређивач или следити ову индикацију:
$ gedit ~/.bin/donde &
И додајемо следећи садржај:
#!/usr/bin/env bash if [ $# -lt 1 ]; then echo "Necesitas pasar un parámetro" else whereis $1 fi
Анализа скрипти
Наша прва линија позива «ствар»(#! / Уср / бин / енв басх) замолите Линук да извештава где се налази басх шкољка и да се оно што следи извршава у складу са Басховим захтевима. Ова мера предострожности погодно је осигурати да наше скрипте раде на било којој инсталацији. Још једна могућа ствар смејао се:
#!/bin/bash
Разлика између њих може бити врло застрашујућа и објаснићу. У овом последњем Претпостављам да је то у нашем систему басх љуска је на / бин / басх адреси. Међутим, тамо где предложим у сценарију Претпостављам да не знам где је басх тумач. Молим систем да он наведе ту адресу.
Трећи ред: Као што видите, други ред је иф. За басх ликове «$#« садрже број параметара које преносимо из командне линије. Према томе, »иф [$ # -лт 1];» дословно значи „ако је број параметара мањи од 1“.
Четврти ред: Онда (дословно превод са енглеског: тада), овде је назначено шта следи извршиће се када се изврши процена стања if бити истинит: другим речима, број параметара је мањи од 1, односно нула.
Пети ред: Ако нашу скрипту извршимо без икаквих параметара, у терминалу ћемо приказати «Треба да проследите параметар».
Шести ред: Означава да ће се извршити оно што следи када услов који смо прогласили није тачан.
Седми ред: Се покрените команду «вхереис« праћен садржајем који смо пренели као први параметар.
Осми ред: са «fi»Означава да се блок завршава if.
Тестирање наше скрипте
Важно је додајте дозволе за писање на скрипту:
$ chmod -x ~/.bin/donde
Без тога би се појавила грешка „одбијена дозвола“.. После тога можемо покренути нашу скрипту.
$ donde php
Требало би да нам покаже локацију пхп бинарних датотека, њихове изворне датотеке и ман странице. Тако нешто:
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
Рецаппинг
- Омогућавамо а ".бин" директоријум за смештај наших скрипти.
- Нудимо информације за Линук да би овај директоријум укључио у своја претраживања наредби.
- Ми креирамо нашу скрипту.
- Разлика између различит ствар.
- Употреба број параметара прослеђених са $ #.
- Употреба први параметар са $1.
Надам се и желим да вам је ова скрипта корисна.
Врло добро и добро објашњено, али на шта се односи параметар?
Хвала Мигуел!
Под параметром разумем све комплементарне информације које се достављају програму, функцији или систему. Како ово може бити незгодно, одговорићу вам са неколико примера.
У линук наредби за копирање датотеке а.ткт у датотеку б.ткт написали бисмо следеће:
$ цп а.ткт б.ткт
Овде цп програм прима два параметра која су имена две датотеке, прве (мора постојати) а.ткт и друге б.ткт.
Још један пример: Ако команду шаљете за штампање са конзоле
$ лп датотека.пдф
У овом случају „филе.пдф“ је параметар за лп програм.
Надам се да сам удовољио вашим сумњама.
поздрави
Моји коментари се не појављују, то је недостатак поштовања, не враћам се на овај форум.
Не знам шта се догодило, у сваком случају овај је објављен.
Поздрав.