Извршавање команде помоћу Shell скрипте у Linux-у

Извршавање команде помоћу Shell скрипте у Linux-у

Shell скрипте су моћно средство за аутоматизацију задатака и управљање системом у Linux-у. Оне омогућавају корисницима да складиште и извршавају низ наредби у једној датотеци, што чини рутинске операције бржим и ефикаснијим. У овом чланку ћемо истражити како да извршавамо команде помоћу shell скрипти у Linux-у.

Увод

Shell скрипте се користе за обављање разних задатака, као што су:

* Аутоматизација редовних задатака (нпр. прављење резервних копија, ажурирање система)
* Управљање датотекама и директоријумима
* Покретање програма и апликација
* Интеракција са корисницима

Shell скрипте се могу креирати и уређивати користећи било који текстуални уређивач, као што су Nano, Vi или Emacs. Да бисте креирали нову shell скрипту, отворите уређивач текста и унесите следеће:


#!/bin/bash

Ова линија назначује интерпретатор shell-а који ће се користити за извршавање скрипте. За већину скрипти ће бити довољан Bash shell.

Извршавање наредби у Shell скрипти

Да бисте извршили наредбу у shell скрипти, једноставно је унесите као што бисте то урадили у командној линији. На пример, следећа наредба ће приказати садржај директоријума /home/user:


cd /home/user
ls -l

Можете повезати више наредби користећи карактер за нови ред (;), који ће извршити следећу наредбу након што се заврши претходна. На пример, следећа скрипта ће креирати нови директоријум, променити у њега и приказати садржај:


#!/bin/bash

mkdir new_directory
cd new_directory
ls -l

Редослед извршавања и условне изјаве

Редослед извршавања у shell скрипти је од врха ка дну. Међутим, можете користити условне изјаве да контролишете ток извршавања.

На пример, следећа скрипта користи команду if да провери да ли постоји датотека и ако постоји, приказаће њен садржај:


#!/bin/bash

if [ -f my_file.txt ]; then
cat my_file.txt
fi

Такође можете користити команде else и elif да специфицирате алтернативне акције на основу резултата условне изјаве.

Петље у Shell скрипти

Петље се користе за понављање одређеног блока наредби. У shell скрипти постоје три главна типа петљи:

* For петља: Петља for понавља блок наредби за сваки елемент у листи или опсегу.
* While петља: Петља while понавља блок наредби све док је услов истинит.
* Until петља: Петља until понавља блок наредби све док је услов неистинит.

На пример, следећа скрипта користи петљу for да израчуна факторијел броја:


#!/bin/bash

factorial=1
for i in $(seq 1 $1); do
factorial=$((factorial * i))
done

echo "Факторијел броја $1 је: $factorial"

Функције у Shell скрипти

Функције се користе за групирање наредби и поновну употребу кода у shell скрипти. Да бисте дефинисали функцију, користите следећу синтаксу:


function function_name() {

Наредбе функције

}

Функције можете позвати из било ког дела скрипте користећи њено име. На пример, следећа скрипта дефинише функцију за провера да ли је број паран и користи је за проналажење свих парних бројева у опсегу:


#!/bin/bash

function is_even() {
if [ $1 % 2 -eq 0 ]; then
return 0
else
return 1
fi
}

for i in $(seq 1 10); do
if is_even $i; then
echo "$i је паран број"
fi
done

Закључак

Shell скрипте су моћно средство за аутоматизацију задатака и управљање системом у Linux-у. Омогућавају корисницима да складиште и извршавају низ наредби у једној датотеци, што чини рутинске операције брзим и ефикасним.

У овом чланку смо истражили основе извршавања наредби помоћу shell скрипти, укључујући редослед извршавања, условне изјаве, петље и функције. Умеће израде и коришћења shell скрипти може значајно побољшати продуктивност и ефикасност у Linux окружењу.

Често постављана питања (FAQs)

1. Који интерпретатор shell-а треба да користим за shell скрипте?
* Већина скрипти ће радити са Bash shell-ом, који је подразумевани shell у многим дистрибуцијама Linux-а.

2. Како да променим дозволе за shell скрипту?
* Користите команду chmod са одговарајућим флаговима за промену дозвола. На пример, chmod +x my_script.sh ће учинити скрипту извршном.

3. Како да извршим shell скрипту из друге скрипте?
* Користите команду source или .. На пример, source my_script.sh ће извршити скрипту my_script.sh.

4. Како да пренесем аргументе у shell скрипту?
* Аргументи се могу пренети скрипти користећи параметар $@. На пример, echo $@ ће приказати све аргументе који су пренети скрипти.

5. Како да обрадим грешке у shell скрипти?
* Користите команду set -e на почетку скрипте да бисте учинили скрипту да изађе ако се појави било која грешка. Такође можете користити команду trap за хватање специфичних сигнала грешке.

6. Како да дебагујем shell скрипту?
* Користите заставу -x док извршавате скрипту да бисте омогућили дебаговање. Такође можете користити уграђену команду set -x у самој скрипти.

7. Које су неке корисне команде за управљање датотекама у shell скрипти?
* mkdir, rmdir, cp, mv, ls, cat

8. Које су неке корисне команде за управљање процесима у shell скрипти?
* ps, kill, sleep, wait

9. Како да добијем помоћ за конкретну команду у shell скрипти?
* Користите команду man или help са именом команде. На пример, man ls ће приказати документацију за команду ls.

10. Где могу да нађем додатне ресурсе о shell скриптовању у Linux-у?
* Bash програмски увод за почетнике
* Script Shell
* UNIX Shell скриптовање