Преглед садржаја
Извршавање команде помоћу 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 скриптовање