Как да създам псевдоними и функции на черупката на Linux?

дойде и след последната команда:



function_name () {command1; command2; }

Lika псевдоними, функциите на Bash shell могат да бъдат дефинирани във файла .bashrc, но често е по-добре да ги поставите в собствения си файл с дефиниции. Ще го наречем „.bash_functions“, следвайки конвенцията, използвана за файла „.bash_aliases“.

Това означава, че трябва да кажем на файла .bashrc да се прочете в нашите дефиниции. Можем да копираме и изменяме фрагмента от код, който се чете във файла .bash_aliases. Стартирайте gedit и заредете файла „.bashrc“ с тази команда:



gedit .bashrc

gedit .bashrc файл



Трябва да добавите подчертания раздел, показан по-долу.



Можете да маркирате псевдонима и да натиснете Ctrl + C и след това да се преместите там, където искате новата секция, и да натиснете Ctrl + V, за да поставите копие на текста. Тогава всичко, което трябва да направите, е да промените двете места, където пише „.bash_aliases“ на „.bash_functions“.

Добавяне на bash_functions във .bashrc файл

Можем да запазим тези промени и да затворим gedit.



Сега ще създадем и редактираме файла „.bash_functions” и ще поставим дефиниция на функция в него.

докоснете .bash_functions gedit .bash_functions

Създаване и редактиране на .bash_functions

Това ще отвори празния файл „.bash_functions“ в gedit.

Ще добавим проста функция, която се извиква. up ще вземе един параметър на командния ред, който е цифра. след това ще извика cd .. този брой пъти. Така че, ако сте използвали командата

нагоре 2

up ще извика cd .. два пъти и ще се придвижи нагоре с две нива в дървото на директориите.

Има различни начини за дефиниране на функция. Ето едно:

функция нагоре () {

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

Ето цялата ни функция в gedit:

Редактиране на .bash_functions файл

функция нагоре () {

Това бележи началото на нашата дефиниция на функцията и я назовава.

нива = $ 1

Това създава променлива, наречена нива и го задава на стойността на първия параметър. Този параметър ще бъде цифра, предоставена от потребителя, когато извика функцията. $ 1 означава „първи параметър на командния ред.“

while ['$ levels' -gt '0']; направете

След това въвеждаме цикъл, който след това ще се преведе като „когато“ стойност ' на ' нива ”Е положителна или по-голяма от нула, направете това, което се съдържа в тялото на цикъла.”

Вътре в тялото на цикъла имаме две команди. Те са:

cd ..

Преместете ниво нагоре в дървото на директориите.

нива = $ (($ нива - 1))

Задайте нива на нова стойност, която е с една по-малка от текущата.

След това се връщаме в горната част на цикъла, сравнението между стойността на нивата и нулата се прави още веднъж. Ако „нива“ е повече от нула, тялото на цикъла се изпълнява отново. Ако не е положително или по-голямо от нула, цикълът е завършен и ние преминаваме към готовия оператор и функцията е приключила.

Запазете тези промени и затваряне gedit .

Ще прочетем и изпълним командите в „.bashrc“, които трябва да прочетат и изпълнят командите в нашия файл „.bash_functions“.

. .bashrc

Обадете се ..bashrc

Можем да тестваме функцията, като се преместим на някакво място в дървото на директориите и използваме, за да се върнем обратно в „по-висока“ точка в дървото на директориите.

cd ./work/backup/ up 2

Функция нагоре

Функцията работи. Преместихме две нива на директория по-високо в дървото.

Проследяване с тип

Докато създавате набор от псевдоними и библиотека от функции, може да стане трудно да запомните дали дадена команда е псевдоним или функция. Можете да използвате „ Тип' команда за напомняне. Готиното тук е, че вие ​​също виждате определението.

Нека използваме type на нашия FTC псевдоним и нашата функция нагоре.

тип ftc тип нагоре

Използване на тип

Получаваме много полезно напомняне за това какъв тип команда е всяка, заедно с техните дефиниции.

Започнете да събирате

Псевдонимите и функциите могат да ускорят изключително много използването на командния ред. Те могат да съкратят командните последователности и ви позволяват да включите опциите, които винаги използвате със стандартни команди. Всеки път, когато видите изящна еднолинейна или полезна функция, можете да я адаптирате и персонализирате и след това да я добавите към вашите файлове „.bash_aliases“ или „.bash_functions“. Широкото им използване може да помогне да направите времето си в черупката по-приятно и по-малко сложно.

Не забравяйте да внимавате да предефинирате съществуващите команди с поведение, което е потенциално разрушително. Дори да правите обратното и да комбинирате команда с по-безопасен вариант (винаги искайте потвърждение, преди да го изтриете рекурсивно, например), може да се върне, за да ви ухапе първия път, когато сте в системата, без да го разчитате . За да намерите кандидати, за които може да е добре да създадете псевдоними, може би е добра идея да потърсите в историята си най-често използваните команди.

12 минути четене