Създайте свои собствени скриптове с помощта на bash

Изучаване на Linux

Независимо от дистрибуцията на Linux, която използваме, „не се съмнявам, че любимият ми е Ubuntu“, веднага щом започнем да използваме тази система, някои нужди от автоматизация. Тоест: създайте нашата собствени команди които изпълняват определени команди по персонализиран начин. Тази нужда може да се дължи на определени причини:

  • Опростете синтаксиса от командите, които обикновено изпълняваме.
  • Предприемайте действия, които обхващат всякакви нужда, която не е предвидена в системата оперативен.
  • Поръчки за последователност че усърдно повтаряме.

Въпреки че bash скриптът може да се стартира във / от всяка директория, това обикновено е създайте директория за хостване на тези скриптове. В моя случай:

$ mkdir /home/pedro/.bin

Вярвам в това директория (скрита чрез водене на периода пред името) да държа всички скриптове, които използвам там. Това, че името на директорията е скрито, няма друго значение освен - освен ако изрично не е посочено друго - няма да се появи при преглед / начало / педро от инструмента за преглед на файлове в графичен режим.

Сега трябва информирайте Linux, че той също трябва да търси там (/home/pedro/.bin) поръчките, които се изпълняват от терминала.

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

По този начин системата ще търси нашите поръчки там докато не затворим сесията. За да направите тази асоциация постоянна:

$ sudo nano /etc/environment

и добавяме

:/home/pedro/.bin

в края на реда PATH е много важно да не забравяме двоеточието преди адреса на директорията, която включваме, тъй като това е механизмът за добавяне.

Първият ни стъпка по стъпка скрипт

Ние създаваме нашия файл, като този в моя случай:

$ touch ~/.bin/donde

И за да го редактирате, можете да използвате предпочитания редактор или да следвате тази индикация:

$ gedit ~/.bin/donde &

И ние добавяме следното съдържание:

#!/usr/bin/env bash

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

Анализ на скриптове

Първата ни линия за обаждане «шебанг»(#! / Usr / bin / env bash) помолете Linux да докладва където се намира черупката на bash и че това, което следва, се изпълнява в съответствие с изискванията на bash. Тази предпазна мярка удобно е да се уверите, че нашите скриптове работят при всяка инсталация. Друг възможен шебанг той се засмя:

#!/bin/bash

Разликата между тях може да бъде много странна и аз ще я обясня. В тази последна Предполагам, че в нашата система черупката на bash е на / bin / bash адрес. Въпреки това, където предлагам в сценария Предполагам, че не знам къде е тълкувателят на bash. Моля системата да му предостави този адрес.

Трети ред: Както виждате, вторият ред е if. За баш героите «$#« съдържат броя параметри, които предаваме от командния ред. Следователно, »ако [$ # -lt 1];» буквално означава "ако броят на параметрите е по-малък от 1".

Четвърти ред: След това (в буквален превод от английски: тогава), тук е посочено, че какво следва ще бъде изпълнено, когато оценката на състоянието if Бъди искрен: с други думи, броят на параметрите е по-малък от 1, т.е. нула.

Пети ред: Ако изпълним скрипта си без никакви параметри, ще покажем в терминала «Трябва да предадете параметър».

Шести ред: Показва, че това, което следва, ще бъде изпълнено когато условието, което сме декларирали, не е вярно.

Седми ред: Se изпълнете командата «къде е« придружен от съдържанието, което сме предали като първи параметър.

Осми ред: с «fi»Показва, че блокът свършва if.

Тестване на нашия скрипт

Важно е добавяне на разрешения за запис към скрипта:

$ chmod -x ~/.bin/donde

Без това ще се появи грешка „отказано разрешение“.. След това можем да стартираме нашия скрипт.

$ donde php

Той трябва да ни покаже местоположението на 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

Рекапиране

  • Активираме a ".bin" директория за съхранение на нашите скриптове.
  • Ние осигуряваме информация за Linux, за да включи тази директория в своите командни търсения.
  • Ние създаваме нашия скрипт.
  • Разлика между различен шебанг.
  • Използване на брой параметри, предадени с $ #.
  • Използване на първи параметър с $1.

Надявам се и желая този скрипт да е полезен за вас.


4 коментара, оставете своя

Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   Мигел каза той

    Много добре и добре обяснено, но за какво се отнася параметърът?

    1.    Изображение на резервоар на Pedro Ruiz Hidalgo каза той

      Благодаря Мигел!

      Под параметър разбирам цялата допълнителна информация, която се предоставя на програма, функция или система. Тъй като това може да е тромаво, позволете ми да ви отговоря с няколко примера.

      В командата linux за копиране на файла a.txt във файла b.txt бихме написали следното:

      $cp a.txt b.txt

      Програмата cp тук получава два параметъра, които са имената на два файла, първият (трябва да съществува) a.txt и вторият b.txt.

      Друг пример: Ако изпратите за печат от конзолата с командата

      $ lp файл.pdf

      В този случай "file.pdf" е параметър за lp програмата.

      Надявам се да съм задоволил съмненията ви.

      поздрави

  2.   Мигел каза той

    Коментарите ми не излизат, това е липса на уважение, не се връщам към този форум.

    1.    Изображение на резервоар на Pedro Ruiz Hidalgo каза той

      Не знам какво се е случило, във всеки случай този е публикуван.

      Поздрави.