Skripty píšeme v Linuxe (učenie na príkladoch). Písanie skriptov v Bash Ako vytvoriť skripty v Ubuntu

Písanie skriptov v systéme Linux (učenie s príkladmi)

———————————————————————————-

1. Úvod

Čo potrebujete na písanie skriptov
Znalosť nástrojov príkazový riadok a ich potrebné možnosti.
Základné znalosti v angličtine stupňa základnej školy neublíži.

Prečo sú potrebné skripty?
Po prvé, správa servera Linux do tej či onej miery spočíva v systematickom vykonávaní rovnakých príkazov. Navyše nie je potrebné, aby tieto príkazy vykonávala osoba. Môžu byť naprogramované tak, aby ich vykonával stroj.
Po druhé, čo i len vykonávanie bežnej úlohy, ktorá (zrazu) predstavuje 20-1000... monotónnych operácií je OVEĽA jednoduchšie implementovať v skripte.

Čo je to skript
Skript je súbor inštrukcií, ktoré musí počítač vykonať v určitom poradí a v určitom čase. Inštrukcie môžu byť buď interné príkazy shellu (cykly, podmienky, spracovanie textových informácií, práca s premennými prostredia atď.), alebo akýkoľvek program, ktorý spustíme v konzole s potrebnými parametrami.

Ako napísať scenár
V našom prípade to bude scenár textový súbor s atribútmi vykonávania. Ak súbor skriptu začína sekvenciou #!, ktorá sa vo svete UNIX nazýva sha-bang, potom to systému povie, ktorý interpret má použiť na vykonanie skriptu. Ak je to ťažké pochopiť, potom si pamätajte, že všetky skripty začneme písať riadkom #!/bin/bash alebo #!/bin/sh a potom budú nasledovať príkazy a komentáre k nim.

Slová na rozlúčku
Úprimne vám odporúčam napísať čo najviac komentárov takmer na každý riadok v skripte. Čas uplynie a budete musieť zmeniť alebo zmodernizovať skript, ktorý ste kedysi napísali. Ak si nepamätáte alebo nerozumiete tomu, čo je napísané v skripte, potom je ťažké to zmeniť; je ľahšie písať od začiatku.

Aké skripty môžeme potrebovať:

    nastavenie pravidiel brány firewall pri zavádzaní systému.
    zálohovanie nastavení a údajov.
    spustenie v určitom čase (najlepšie každú noc) programu, ktorý prehľadá protokoly proxy servera a vytvorí pohodlnú webovú správu o množstve stiahnutej prevádzky.
    zasielanie informácií e-mailom o tom, že niekto pristúpil na náš server cez ssh, čas pripojenia a adresu klienta.

O spôsobe písania scenárov
Vytvoríme textový súbor, upravíme ho, nastavíme práva na spustenie, spustíme, hľadáme chyby, opravujeme, spúšťame, hľadáme chyby...
Keď je všetko vyleštené a funguje správne, dáme to na určitý čas do autoloadu alebo do plánovača.

———————————————————————————-

2. Naučiť sa písať skripty v internom jazyku BASH
originál: https://www.linuxconfig.org/Bash_scripting_Tutorial

Tento tutoriál nepredpokladá žiadne predchádzajúce znalosti o písaní skriptov pomocou interného jazyka Bash. S pomocou tohto sprievodcu čoskoro zistíte, že písanie skriptov je veľmi jednoduchá úloha. Začnime náš tutoriál jednoduchým skriptom, ktorý vypíše reťazec "Ahoj svet!" (preložené z angličtiny - Ahoj všetci!)

1. Scenár „Ahoj všetci“
Tu je váš prvý príklad bash skriptu:

#!/bin/bash
echo "Ahoj svet"

Poďme do adresára, ktorý obsahuje náš súbor hello_world.sh a spravíme ho spustiteľným:

Kód: Vyberte všetky $ chmod +x hello_world.sh

Spustenie skriptu na vykonanie

Kód: Vyberte všetky $ ./hello_world.sh

2. Jednoduchá archivácia bash skriptu

#!/bin/bash
tar -czf myhome_directory.tar.gz /home/user

Kód: Vyberte všetky $ ./backup.sh

$ du -sh myhome_directory.tar.gz
41 miliónov myhome_directory.tar.gz

3. Práca s premennými
V tomto príklade deklarujeme jednoduchú premennú a zobrazíme ju na obrazovke pomocou príkazu echo

#!/bin/bash
STRING=“AHOJ SVET!!!”
echo $STRING

Kód: Vyberte všetky $ ./hello_world.sh
AHOJ SVET!!!

Náš archivačný skript s premennými:

#!/bin/bash
OF=myhome_directory_$(dátum +%Y%m%d).tar.gz
IF=/home/user
decht -czf $OF $AK

Kód: Vyberte všetky $ ./backup.sh
tar: Odstránenie úvodného znaku „\“ z mien členov
$ du -sh *tar.gz
41M myhome_directory_20100123.tar.gz

3.1 Globálne a lokálne premenné

#!/bin/bash
# Deklarujte globálnu premennú
# Takáto premenná môže byť použitá kdekoľvek v tomto skripte
VAR="globálna premenná"
funkcia bash(
# Deklarujte lokálnu premennú
# Takáto premenná je platná len pre funkciu, v ktorej bola deklarovaná
local VAR=”lokálna premenná”
echo $VAR
}
echo $VAR
bash
# Všimnite si, že globálna premenná sa nezmenila
echo $VAR

Kód: Vyberte všetky $ ./variables.sh
globálna premenná
lokálna premenná
globálna premenná

4. Odovzdajte argumenty skriptu

#!/bin/bash
# Na prístup k argumentom použite preddefinované premenné
# Vytlačte argumenty na obrazovku
echo $1 $2 $3 ‘ -> echo $1 $2 $3’

#K argumentom môžeme pristupovať aj prostredníctvom špeciálneho poľa args=("$@")
# Vytlačte argumenty na obrazovku
echo $(args) $(args) $(args) ‘ -> args=(“$@”); echo $(args) $(args) $(args)’

# Na tlač všetkých argumentov naraz použite $@
echo $@ ‘ -> echo $@’

Pomocou premennej $# zobrazíte počet argumentov odovzdaných skriptu
echo Počet odovzdaných argumentov: $# ‘ -> echo Počet odovzdaných argumentov: $#’

Kód: Vyberte všetky $ ./arguments.sh Bash Scripting Tutorial
Bash Scripting Tutorial -> echo $1 $2 $3
Bash Scripting Tutorial -> args=("$@"); echo $(args) $(args) $(args)
Bash Scripting Tutorial -> echo $@
Počet odovzdaných argumentov: 3 -> echo Počet odovzdaných argumentov: $#

5. Vykonávanie príkazov shellu v skripte

#!/bin/bash
# použite spätné úvodzovky " ` ` " na vykonanie príkazu shellu
echo `uname -o`
# teraz skúsme bez úvodzoviek
ozvena uname -o

Kód: Vyberte všetky $ uname -o
GNU/Linux
$ ./bash_backtricks.sh
GNU/Linux
unname -o

Ako vidíte, v druhom prípade sa zobrazil samotný príkaz a nie výsledok jeho vykonania

6. Čítanie vstupu používateľa (interaktivita)

#!/bin/bash
echo -e "Ahoj, napíš slovo: \c "
čítať slovo
echo "Zadané slovo je: $word"
echo -e „Môžete prosím zadať dve slová? »
čítať slovo1 slovo2
echo "Tu je váš vstup: \"$word1\" \"$word2\""
echo -e „Aký máte názor na bash skriptovanie? »
Príkaz # read teraz ukladá odpoveď do predvolenej vstavanej premennej $REPLY
čítať
echo „Povedal si $ REPLY, to ma teší! »
echo -e „Aké sú tvoje obľúbené farby? »
# -a robí príkaz read na čítanie do poľa
čítať -a farby
echo “Moje obľúbené farby sú tiež $(farby), $(farby) a $(farby):-)”

Kód: Vyberte všetky $ ./read.sh
Ahoj, napíš slovo: niečo
Zadané slovo je: niečo
Môžete zadať dve slová?
Debian Linux
Tu je váš vstup: "Debian" "Linux"
Aký máš názor na bash skriptovanie?
dobre
Dobre si povedal, to rád počujem!
Aké sú vaše obľúbené farby?
modrá zelená čierna
Moje obľúbené farby sú tiež modrá, zelená a čierna :-)

7. Pomocou pasce

#!/bin/bash
# vyhlásiť pascu
pasca bashtrap INT
# vymazať obrazovku
jasný;
# Funkcia zavesenia sa spustí, keď používateľ stlačí CTRL-C:
# Na obrazovke sa zobrazí => Vykonávanie podprogramu bash trap!
# ale skript bude bežať ďalej
bashtrap()
{
echo "CTRL+C Zistené!...spúšťa sa bash trap!"
}
# skript bude počítať do 10
pre a v "nasledujúcich 1 10"; robiť
echo "$a/10 to Exit."
spánok 1;
hotový
echo "Exit Bash Trap Example!!!"

Kód: Vyberte všetky $ ./trap.sh
1/10
2/10
3/10
4/10
5/10
6/10

7/10
8/10
9/10
CTRL+C Zistené !...spúšťa sa bash trap !
10/10
Exit Bash Trap Príklad!!!

Ako vidíte, kombinácia klávesov Ctrl-C nezastavila vykonávanie skriptu.

8. Polia
8.1 Deklarovanie jednoduchého poľa

#!/bin/bash
# Deklarujte jednoduché pole so 4 prvkami
ARRAY=('Debian Linux' 'Redhat Linux' Ubuntu Linux)
# Získajte počet prvkov v poli
ELEMENTS=$(#ARRAY[@])

# slučka cez každý prvok poľa
pre ((i=0;i<$ELEMENTS;i++)); do
echo $(ARRAY[$(i)])
hotový

Kód: Vyberte všetky $./arrays.sh
Debian Linux
Redhat Linux
Ubuntu
Linux

8.2 Vyplnenie poľa hodnotami zo súboru

#!/bin/bash
# Deklarujte pole
vyhlásiť -a ARRAY
# príkaz exec # stdin (zvyčajne klávesnica) bude odvodený z tohto súboru. Vďaka tomu je možné čítať
# obsah súboru riadok po riadku a analyzujte každý riadok zadaný pomocou sed a/alebo awk.
exec 10 nech počet=0

pri čítaní LINE<&10; do

ARRAY[$count]=$LINE
((count++))
hotový

echo Počet prvkov: $(#ARRAY[@])
# Vytlačte hodnoty poľa
echo $(ARRAY[@])
# zatvorte súbor
exec 10>&-

Kód: Vyberte všetky $ cat bash.txt
Debian Linux
Redhat Linux
Ubuntu
Linux
$ ./arrays.sh
Počet prvkov: 4
Debian Linux Redhat Linux Ubuntu Linux

9. Podmienky „ak potom“.
9.1. Jednoduché použitie podmienok „ak je to inak“.
Pozor na medzery v hranatých zátvorkách, bez ktorých podmienka nebude fungovať.

#!/bin/bash
directory="./BashScripting"

# skontrolujte prítomnosť adresára
if [ -d $adresar ]; potom
echo "Adresár existuje"
inak
echo "Adresár neexistuje"
fi

Kód: Vyberte všetky $ ./if_else.sh
Adresár neexistuje
$ mkdir BashScripting
$ ./if_else.sh
Adresár existuje

9.2 Vnorené podmienky, ak sú iné

#!/bin/bash
# Deklarujte premennú s hodnotou 4
voľba = 4
# Displej
ozvena "1. Bash"
ozvena "2. skriptovanie"
ozvena "3. návod"

# Vykonajte, kým sa premenná rovná štyrom
# Slučka
pričom [ $choice -eq 4 ]; robiť

# čítať vstup používateľa
čítať výber
# vnorená podmienka if-else
if [ $choice -eq 1 ] ; potom

echo "Vybrali ste si slovo: Bash"

if [ $choice -eq 2 ] ; potom
echo „Vybrali ste si slovo: Skriptovanie“
inak

if [ $choice -eq 3 ] ; potom
echo „Vybrali ste si slovo: Návod“
inak
echo "Prosím, vyberte si medzi 1-3!"
ozvena "1. Bash"
ozvena "2. skriptovanie"
ozvena "3. návod"
echo -n „Vyberte prosím slovo? »
voľba = 4
fi
fi
fi
hotový

Kód: Vyberte všetky $ ./nested.sh
1. Bash
2. Skriptovanie
3. Návod

5

1. Bash
2. Skriptovanie
3. Návod
Vyberte slovo?
4
Prosím, vyberte si medzi 1-3!
1. Bash
2. Skriptovanie
3. Návod
Vyberte slovo?
3
Vybrali ste slovo: Tutorial

Telo cyklu „while“ sa teda vykoná ako prvé, pretože premenná výberu sa na začiatku rovná štyrom. Potom do nej načítame užívateľský vstup a ak sa vstup nerovná 1,2 alebo 3, tak našu premennú urobíme opäť rovnou 4, a preto sa telo cyklu opakuje (treba zadať 1,2 resp. 3 znova).

10. Porovnania
10.1 Aritmetické porovnania

Lt<
-gt>
-le<=
-ge >=
-ekv ==
-nie!=

#!/bin/bash

NUM1=2
NUM2=2
if [ $NUM1 -eq $NUM2 ]; potom
echo "Obe hodnoty sú rovnaké"
inak
echo "Hodnoty NIE sú rovnaké"
fi

Kód: Vyberte všetky $ ./equals.sh
Obe hodnoty sú rovnaké

#!/bin/bash
# Deklarujte premenné s celočíselnými hodnotami
NUM1=2
NUM2=3
if [ $NUM1 -eq $NUM2 ]; potom
echo "Obe hodnoty sú rovnaké"
inak
echo "Hodnoty NIE sú rovnaké"
fi

Kód: Vyberte všetky $ ./equals.sh
Hodnoty NIE SÚ rovnaké

#!/bin/bash
# Deklarujte premenné s celočíselnými hodnotami
NUM1=2
NUM2=1
if [ $NUM1 -eq $NUM2 ]; potom
echo "Obe hodnoty sú rovnaké"
elif [ $NUM1 -gt $NUM2 ]; potom
echo "$NUM1 je väčšie ako $NUM2"
inak
echo "$NUM2 je väčšie ako $NUM1"
fi

Kód: Vyberte všetky $ ./equals.sh
2 je väčšie ako 1

10.2 Porovnania znakov a textu

Rovnaký
!= nie je to isté
< меньще чем
> viac ako
-n s1 premenná s1 nie je prázdna
-z s1 premenná s1 je prázdna

#!/bin/bash

S1="Bash"

S2="Skriptovanie"
if [ $S1 = $S2 ]; potom

inak
echo "Reťazce NIE sú rovnaké"
fi

Kód: Vyberte všetky $ ./statement.sh
Reťazce NIE sú rovnaké

#!/bin/bash
# Deklarujte znakovú premennú S1
S1="Bash"
# Deklarujte znakovú premennú S2
S2 = "Bash"
if [ $S1 = $S2 ]; potom
echo "Obe struny sú rovnaké"
inak
echo "Reťazce NIE sú rovnaké"
fi

Kód: Vyberte všetky $ ./statement.sh
Obe struny sú rovnaké

11. Kontrola súborov

B názov súboru Blokovať špeciálny súbor
-c názov súboru Špeciálny znakový súbor
-d názov_adresára Skontroluje existenciu adresára
-e názov súboru Kontrola existencie súboru
-f názov_súboru Skontroluje existenciu bežného súboru, nie adresára
-G názov_súboru Skontrolujte, či súbor existuje a či je vlastnený skutočným ID skupiny.
-g názov_súboru pravda, ak súbor existuje a je nastavený-skupina-id.
-k názov súboru Sticky bit
-L názov súboru Symbolický odkaz
-O názov_súboru True, ak súbor existuje a je vo vlastníctve skutočného ID užívateľa.
-r názov súboru Skontrolujte, či je súbor čitateľný
-S názov súboru Skontrolujte, či je súbor soket
-s názov súboru Skontrolujte, či má súbor nenulovú veľkosť
-u názov_súboru Skontrolujte, či je nastavený bit set-ser-id súboru
-w názov súboru Skontrolujte, či je súbor zapisovateľný
-x názov súboru Skontrolujte, či je súbor spustiteľný

#!/bin/bash
file="./file"
if [ -e $súbor ]; potom
echo "Súbor existuje"
inak
echo "Súbor neexistuje"
fi

Kód: Vyberte všetky $ ls
súbor.sh
$ ./file.sh
Súbor neexistuje
$ dotykový súbor
$ ls
súbor file.sh
$ ./file.sh
Súbor existuje

Podobne môžeme napríklad pomocou cyklov „pričom“ skontrolovať, či súbor neexistuje. Tento skript bude spať, kým súbor nebude existovať. Všimnite si negátora Bash "!" ktorý neguje (obráti) možnosť -e.

12. Cykly
12.1. Pre slučku

#!/bin/bash
# pre slučku
pre f v $(ls /var/); robiť
ozvena $f
hotový

Spustenie cyklu for z príkazového riadku bash:

Kód: Vyberte všetky $ pre f v $(ls /var/); robiť echo $f; hotovo Kód: Vyberte všetky $ pre f v $(ls /var/); robiť echo $f; hotový
zálohy
cache
havarovať
hry
lib
miestne
zámok
log
pošty
opt
behať
cievka
tmp
www

12.2. Kým slučka

#!/bin/bash
POČET=6
# slučka while
pričom [ $COUNT -gt 0 ]; robiť

nech COUNT=COUNT-1
hotový

Kód: Vyberte všetky $ ./while_loop.sh
Hodnota počtu je: 6
Hodnota počtu je: 5
Hodnota počtu je: 4
Hodnota počtu je: 3
Hodnota počtu je: 2
Hodnota počtu je: 1

12.3. Až do slučky

#!/bin/bash
COUNT=0
# do slučky
do [ $COUNT -gt 5 ]; robiť
echo Hodnota počtu je: $COUNT
nech COUNT=COUNT+1
hotový

Kód: Vyberte všetky $ ./until_loop.sh
Hodnota počtu je: 0
Hodnota počtu je: 1
Hodnota počtu je: 2
Hodnota počtu je: 3
Hodnota počtu je: 4
Hodnota počtu je: 5

12.4. Slučky s implicitnými podmienkami
V nasledujúcom príklade je podmienkou cyklu while prítomnosť štandardného vstupu.
Telo cyklu sa bude vykonávať dovtedy, kým existuje niečo na presmerovanie zo štandardného výstupu na príkaz read.

#!/bin/bash
# Tento skript vyhľadá a odstráni medzery
# v súboroch, pričom ich nahradia podčiarkovníky
DIR=
Riadenie slučky pomocou príkazu read presmerovaním výstupu v rámci slučky.
nájsť $DIR -typ f | pri čítaní súboru; robiť
# použite triedu POSIX [:space:] na nájdenie medzier v názvoch súborov
if [[ "$súbor" = *[[:medzera:]]* ]]; potom
# nahradiť medzery podčiarkovníkom
mv "$súbor" `echo $súbor | tr ‘’ ‘_’’
fi;
hotový

Kód: Vyberte všetky $ ls -1
script.sh
$ dotknite sa položky „súbor s medzerami“
$ls -1
súbor s medzerami
script.sh
$ ./script.sh
$ls -1
súbor_s_medzerami
script.sh

13. Funkcie

#!/bin/bash
# Funkcie môžu byť deklarované v ľubovoľnom poradí
funkcia function_B(
Funkcia echo B.
}
funkcia function_A (
echo 1 dolár
}
funkcia function_D(
Funkcia echo D.
}
funkcia function_C(
echo 1 dolár
}
# Funkcie hovoru
# odovzdajte parameter do funkcie funkcie A
function_A "Funkcia A."
funkcia_B
# odovzdajte parameter funkcii funkcie C
function_C "Funkcia C."
funkcia_D

Kód: Vyberte všetky $ ./functions.sh
Funkcia A.
Funkcia B.
Funkcia C.
Funkcia D.

14. Operátor výberu - Vyberte

#!/bin/bash
PS3='Vyberte jedno slovo:'
#vybrať
vyberte slovo v "linux" "bash" "skriptovanie" "návod"
robiť
echo "Vybraté slovo je: $word"
# Prerušte, inak bude slučka nekonečná.
prestávka
hotový
výstup 0

Kód: Vyberte všetky $ ./select.sh
1) linux
2) bash
3) skriptovanie
4) návod
Vyberte jedno slovo: 4
Slovo, ktoré ste vybrali, je: návod

15. Operátor výberu - Prípad

#!/bin/bash
echo "Aký je váš preferovaný programovací / skriptovací jazyk"
echo "1) bash"
echo "2) perl"
echo "3) fytón"
echo "4) c++"
echo "5) Neviem!"
čítať prípad;
# jednoduchá štruktúra výberu prípadu
# všimnite si, že v tomto príklade je $case len premenná
# a nemusí sa tak volať. Toto je len príklad
puzdro $case in
1) echo “Vybrali ste bash”;;
2) echo “Vybrali ste perl”;;
3) echo “Vybrali ste phyton”;;
4) echo “Vybrali ste c++”;;
5) výstup
esac

Kód: Vyberte všetky $ ./case.sh
Aký je váš preferovaný programovací / skriptovací jazyk
1) bash
2) perl
3) fytón
4) c++
5) Neviem!
4
Vybrali ste c++

———————————————————————————-

Podrobnejšie informácie možno získať z rôznych zdrojov, napríklad tu
originál: https://www.linuxconfig.org/Bash_scripting_Tutorial
https://ruslandh.narod.ru/howto_ru/Bash-Prog-Intro/
https://bug.cf1.ru/2005-03-17/programmin … -book.html

https://ubuntologia.ru/forum/viewtopic.php?f=109&t=2296

Pre písanie jednoduchého bash skriptu, musíme vykonať nasledujúce jednoduché kroky:

Ako to celé funguje:

Prvý riadok nášho skriptu #!/bin/bash je nevyhnutný pre úspešné vykonanie nášho skriptu.

druhý riadok mkdir testdir vytvorí adresár testdir

tretí riadok cd testdir vám umožňuje prejsť do vytvoreného adresára testdir

tím dotyk v ďalšom riadku stlačte súbor1 súbor2 súbor3 vytvorí tri súbory

a posledný príkaz v riadku nášho skriptu, ls -al, umožňuje zobraziť obsah aktuálneho adresára, v ktorom sa vďaka predchádzajúcemu riadku objavili tri prázdne súbory.

Ako vidíme, v našom jednoduchý skript všetky príkazy začínajú na novom riadku. Každý riadok pri spustení skriptu postupne vykonáva svoju prácu a vykonáva určité akcie.

Ak denne vykonávate reťazec rovnakých príkazov (s konštantnými parametrami) v Linuxe, potom možno má zmysel, aby ste napísali rovnaké príkazy jednoduchý bash skript, čo vám umožní ušetriť čas a zautomatizovať prácu.

Po prvé, poďme zistiť, čo to je skript a prečo je to potrebné.

Skript preložené z angličtiny - scenár. Všetci pozeráme filmy, mnohí z nás pozerajú divadelné hry. Na vytvorenie filmu/hry im scenáristi píšu scenáre, na základe ktorých herci na javisku scénu po scéne predvádzajú svoje úlohy, z ktorých sa skladá film/hra. Dosť namáhavá je práca na tvorbe scenára, kde treba všetko zohľadňovať do najmenších detailov, aby nakoniec umelci splnili to, čo scenárista zamýšľal, a divák videl kompletné dielo.

Podobne sa píšu skripty, ktoré vykonávajú zoznam úloh, ktoré používateľ zostaví (kód), aby ich v operačnom systéme uľahčil a urýchlil. Na písanie jednoduchých skriptov nie je vôbec potrebné mať programátorské vzdelanie.

Najprv si vytvoríme ten najjednoduchší skript-Shell na aktualizáciu systému.

Všetky akcie vykonám so systémom Ubuntu, ale sú použiteľné aj pre iné systémy Linux, odvodené od Ubuntu. Na to potrebujeme: Textový editor naplniť ho potrebnými úlohami na vytvorenie skriptu (kódu) a Terminál- spustiť vytvorený skript. Tieto nástroje sú nainštalované v akejkoľvek distribúcii Linux predvolená.

Tak teda otvorme textový editor Gedit a zadajte do neho prvé požadované znaky šebang.
šebang v programovaní ide o postupnosť dvoch znakov: krížik a výkričník ( #! ) na začiatku súboru skriptu. A pridajte k týmto znakom bez medzier /bin/sh- tlmočník, kde sa skript vykoná. /bin/sh- to je zvyčajne Bourne shell alebo kompatibilný interpret príkazového riadku, ktorý prejde "cesta/k/skript" ako prvý parameter.
Prvý požadovaný riadok skriptu bude vyzerať takto:

# Môj prvý skript aktualizácie Ubuntu

Znak hash (#) na úplnom začiatku riadku objasňuje tlmočníkovi/terminálu, že tento riadok nie je potrebné čítať a vykonávať. Riadok je potrebný v kóde tohto skriptu, aby tvorca skriptu vedel, čo v tomto segmente/scéne v kóde urobí, aby sa v budúcnosti nemýlil, keď bude takýchto riadkov veľa. Takéto riadky so znakom hash sa nazývajú - komentoval .

aktualizácia sudo apt
sudo apt upgrade -y

-y na konci druhého príkazu dáva tlmočníkovi/terminálu jasne najavo, že táto akcia/príkaz musí byť vykonaný automaticky, bez dodatočného potvrdenia používateľom stlačením klávesu Zadajte. r- skratka z angličtiny Áno, t.j. Áno.

To je všetko. Váš prvý skript bol vytvorený. Mali by ste dostať niečo ako obrázok:


Zostáva len uložiť vytvorený súbor/skript a dať ho názov s povinným rozšírením na konci - .sh. Rozšírenie .sh priradené k spustiteľnému súboru.
dal som mu názov - update.sh, úspora v Domovský priečinok užívateľ:


Aby bol vytvorený súbor/skript spustiteľný, musí mať na to povolenie. Existujú dva spôsoby, ako to urobiť.

1. V termináli spustite nasledujúci príkaz:

sudo chmod +x update.sh

2. Alebo otvorte správcu súborov v Domovský priečinok(kam ste uložili vytvorený skript), kliknite pravým tlačidlom myši na súbor v kontextovom menu - Vlastnosti - Práva a aktivujte položku - Výkon: Povoliť spustenie súboru ako programu:


Na spustenie vytvoreného skriptu je potrebné otvoriť terminál (ako som písal na samom začiatku článku, že terminál je nevyhnutným atribútom/nástrojom na spustenie skriptu), zadajte sh, oddelené medzerou názov skriptu - update.sh a stlačte kláves Zadajte:


Alebo v termináli, ktorý zadáme sh a pretiahnite vytvorený súbor so skriptom zo správcu súborov (oddelený aj medzerou):


Akonáhle sa po príkaze zobrazí cesta k súboru sh a medzera, stačí stlačiť kláves Zadajte(Enter) na vykonanie aktualizácie systému:


Teraz môžete kedykoľvek aktualizovať systém pomocou vlastného skriptu.

Áno, niekto by mohol namietať, že aktualizácia systému nie je ťažké vykonať vykonaním týchto dvoch príkazov v termináli, prečo sa nadúvať a vytvárať nejaké skripty? To je správne. Ale toto je príklad vytvorenia jednoduchého skriptu, ktorý ukazuje, že „nie bohovia spaľujú hrnce“ 😃.

Keď sa naučíte písať a používať jednoduché skripty, môžete si vytvoriť skript na nastavenie systému, takže v prípade preinštalovania systému môžete vytvorený skript použiť bez toho, aby ste museli zakaždým hľadať na internete stránky s podobným nastavením.

Mnohí z vás s najväčšou pravdepodobnosťou používajú stránky na nastavenie systému, ako napríklad tie, ktoré uverejňujem po ďalšom vydaní. Ubuntu - Ubuntu po inštalácii alebo podobné stránky. Otvorte jednu z týchto lokalít: , potom textový editor na vytvorenie skriptu.
Urobil som napríklad nasledujúci polotovar.

V textovom editore zadajte prvý požadovaný riadok:

# Nastavenie Ubuntu po inštalácii
# Aktualizácia systému

Nasledujú príkazy na aktualizáciu systému:

aktualizácia sudo apt
sudo apt upgrade -y

Riadok popisu: Pridávanie úložísk:

# Pridávanie úložísk

A pridajte potrebné úložiská pre ďalšiu inštaláciu softvéru:

sudo add-apt-repository "deb http://archive.canonical.com/ $(lsb_release -sc) partner" -y
sudo add-apt-repository ppa:atareao/telegram -y
sudo add-apt-repository ppa:atareao/atareao -y

sudo add-apt-repository ppa:nemh/systemback -y
sudo add-apt-repository ppa:gerardpuig/ppa -y
sudo add-apt-repository ppa:haecker-felix/gradio-daily -y

Po pridaní potrebných úložísk (opakujem, môžete mať svoje vlastné úložiská, mám príklad), musíte aktualizovať systém:

Riadok popisu:

# Aktualizácia systému po pripojení úložísk

A príkaz na vykonanie:

aktualizácia sudo apt

Teraz, keď boli pridané úložiská a systém bol aktualizovaný, je čas nainštalovať programy:

# Inštalácia programov

Ak chcete nainštalovať programy, stačí zadať príkaz raz sudo apt nainštalovať a potom do tohto riadku pridajte ľubovoľný počet programov oddelených medzerou, hlavná vec je, že sú správne zostavené. Ak sa program skladá z viacerých slov, jeho príkaz musí byť monolitický, t.j. všetky slová v ňom musia byť zadané cez pomlčku, napríklad: unity-tweak-tool:

sudo apt install my-weather-indicator telegram skype lm-sensors hddtemp psensor gdebi systemback unity-tweak-tool ubuntu-cleaner gradio -y

Inštalácia ďalších kodekov

# Multimédiá a kodeky

sudo apt install ubuntu-restricted-extras -y

Zakázanie zlyhaní systému

# Zakázať hlásenie zlyhania systému

sudo sed -i "s/enabled=1/enabled=0/g" "/etc/default/apport"

No to je asi všetko. Tento vygenerovaný súbor skriptu by mal vyzerať takto:


Musíte ho uložiť (kliknite na tlačidlo Uložiť) a dať názov s predĺžením .sh. Volal som mu Nastavenia\Ubuntu.sh(môžete to pomenovať inak, ale určite použite príponu .sh):


Urobme vytvorený skript spustiteľným:

sudo chmod +x Setup\Ubuntu.sh

Ak chcete spustiť vytvorený skript, zadajte do terminálu sh a názov vytvoreného skriptu oddelený medzerou, príp sh, medzerník a pretiahnite vytvorený súbor do terminálu, ako je vysvetlené vyššie v najjednoduchšom skripte a stlačte kláves Zadajte, vykonať to.

Poznámka. Spätné lomítko v príkaze Nastavenia\Ubuntu.sh unikne medzerou v názve terminálového súboru medzi dvoma samostatnými slovami.

Po vykonaní skriptu ho uložte pre budúcnosť, pre prípadnú reinštaláciu systému a konfiguráciu, najlepšie na samostatnom oddiele pevného disku v priečinku /Domov. Ak nie je, potom v cloudovej službe (cloudové úložisko dát), ako napríklad: DropBox, Cloud Mail.Ru, Mega.co atď., aby ste mohli skript kedykoľvek použiť sami, prípadne pomôcť priateľom či príbuzným nastaviť systém.

Bez ohľadu na to, aké jednoduché je grafické rozhranie v Linuxe a bez ohľadu na to, koľko funkcií existuje, stále existujú úlohy, ktoré je pohodlnejšie riešiť cez terminál. Po prvé, pretože je rýchlejší, a po druhé, nie všetky stroje majú grafické rozhranie, napríklad na serveroch sa všetky akcie vykonávajú cez terminál, aby sa ušetrili výpočtové zdroje.

Ak ste už skúsenejší používateľ, pravdepodobne často vykonávate rôzne úlohy cez terminál. Často existujú úlohy, pri ktorých je potrebné spustiť niekoľko príkazov postupne, napríklad na aktualizáciu systému musíte najskôr aktualizovať úložiská a až potom stiahnuť nové verzie balíkov. Toto je len príklad a existuje veľa takýchto akcií, dokonca aj zálohovanie a nahrávanie skopírovaných súborov na vzdialený server. Preto, aby ste nepísali rovnaké príkazy niekoľkokrát, môžete použiť skripty. V tomto článku sa pozrieme na písanie skriptov v Bash, pozrieme sa na základné operátory, ako aj na to, ako fungujú, takpovediac, Bash skripty od nuly.

Skript, alebo ako sa tiež nazýva, skript, je postupnosť príkazov, ktoré sú postupne čítané a vykonávané programom tlmočníka, v našom prípade je to program príkazového riadku - bash.

Skript je obyčajný textový súbor, v ktorom sú uvedené obvyklé príkazy, ktoré sme zvyknutí zadávať ručne, ako aj program, ktorý ich vykoná. Loader, ktorý bude skript vykonávať, nevie pracovať s premennými prostredia, preto mu treba odovzdať presnú cestu k programu, ktorý je potrebné spustiť. Potom prenesie váš skript do tohto programu a spustí sa.

Jednoduchý príklad skriptu Bash shell:

!/bin/bash
echo "Ahoj svet"

Pomôcka echo zobrazí na obrazovku reťazec, ktorý jej bol odovzdaný ako parameter. Prvý riadok je špeciálny, špecifikuje program, ktorý vykoná príkazy. Vo všeobecnosti môžeme vytvoriť skript v akomkoľvek inom programovacom jazyku a špecifikovať požadovaný tlmočník, napríklad v pythone:

!/usr/bin/env python
vytlačiť ("Ahoj svet")

Alebo v PHP:

!/usr/bin/env php
echo "Ahoj svet";

V prvom prípade sme priamo ukázali na program, ktorý bude príkazy vykonávať, v ďalších dvoch nepoznáme presnú adresu programu, preto požiadame utilitu env, aby ho našla podľa názvu a spustila. Tento prístup sa používa v mnohých skriptoch. To však nie je všetko. V systéme Linux, aby systém mohol spustiť skript, musíte na súbore s ním nastaviť príznak spustiteľného súboru.

Tento príznak nemení nič v samotnom súbore, len hovorí systému, že to nie je len textový súbor, ale program a treba ho spustiť, otvoriť súbor, rozpoznať interpreta a spustiť ho. Ak nie je zadaný žiadny tlmočník, štandardne sa použije tlmočník používateľa. Ale keďže nie každý používa bash, musíte to výslovne špecifikovať.

Robiť:

chmod ugo+x súbor_skriptu

Teraz spustíme náš malý prvý program:

./script_file

Všetko funguje. Už viete, ako napísať malý skript, povedzme na aktualizáciu. Ako vidíte, skripty obsahujú rovnaké príkazy, aké sa vykonávajú v termináli, a dajú sa veľmi ľahko písať. Teraz to však trochu skomplikujeme. Keďže skript je program, musí sám robiť niektoré rozhodnutia, ukladať výsledky vykonávania príkazov a vykonávať slučky. Toto všetko vám umožňuje shell Bash. Je pravda, že tu je všetko oveľa komplikovanejšie. Začnime niečím jednoduchým.

Premenné v skriptoch

Písanie skriptov v Bash je zriedka dokončené bez uloženia dočasných údajov, čo znamená vytváranie premenných. Ani jeden programovací jazyk sa nezaobíde bez premenných, vrátane nášho primitívneho jazyka príkazového shellu.

Možno ste sa už stretli s premennými prostredia. Ide teda o rovnaké premenné a fungujú rovnakým spôsobom.

Napríklad deklarujme reťazcovú premennú:

string="Ahoj svet"

Hodnota nášho reťazca je v úvodzovkách. V skutočnosti však úvodzovky nie sú vždy potrebné. Hlavný princíp bash je tu zachovaný - medzera je špeciálny znak, oddeľovač, takže ak nepoužijete úvodzovky, world sa už bude považovať za samostatný príkaz, z rovnakého dôvodu nedávame medzery pred a za rovnaké znamenie.

Symbol $ sa používa na zobrazenie hodnoty premennej. Napríklad:

Upravme náš skript:

!/bin/bash
string1="ahoj"
string2=svet
string=$reťazec1$reťazec2
echo $string

A skontrolujeme:

Bash nerozlišuje medzi typmi premenných rovnakým spôsobom ako jazyky na vysokej úrovni, ako je C++; k premennej môžete priradiť číslo alebo reťazec. Toto všetko sa bude považovať za reťazec. Shell podporuje iba zlučovanie reťazcov; na tento účel jednoducho napíšte názvy premenných do riadku:

!/bin/bash
string1="ahoj"
string2=svet
string=$string1$string2\ a\ ja
string3=$string1$string2" a ja"
echo $string3

Kontrolujeme:

Upozorňujeme, že ako som povedal, úvodzovky sú voliteľné, ak reťazec neobsahuje žiadne špeciálne znaky. Pozrime sa bližšie na oba spôsoby zlučovania reťazcov, demonštrujú aj úlohu úvodzoviek. Ak potrebujete zložitejšie spracovanie reťazcov alebo aritmetické operácie, nie sú zahrnuté v schopnostiach shellu, používajú sa na to bežné nástroje.

Premenné a príkazový výstup

Premenné by neboli také užitočné, keby nemohli ukladať výsledky spustených utilít. Používa sa na to nasledujúca syntax:

$(tím)

S týmto dizajnom bude výstup príkazu presmerovaný priamo na miesto, odkiaľ bol zavolaný, a nie na obrazovku. Napríklad pomôcka dátumu vráti aktuálny dátum. Tieto príkazy sú ekvivalentné:

Rozumieš? Napíšme skript, ktorý zobrazí ahoj svet a dátum:

string1="ahoj svet"
string2=$(dátum)

string=$reťazec1$reťazec2

Teraz už viete o premenných dosť, že ste pripravení vytvoriť bash skript, ale je toho ešte viac. Ďalej sa pozrieme na parametre a riadiace štruktúry. Dovoľte mi pripomenúť, že toto sú všetky bežné príkazy bash a nemusíte ich ukladať do súboru; môžete ich spustiť hneď za chodu.

Parametre skriptu

Nie je vždy možné vytvoriť bash skript, ktorý nezávisí od vstupu používateľa. Vo väčšine prípadov sa musíte používateľa opýtať, akú akciu má vykonať alebo aký súbor použiť. Pri volaní skriptu mu môžeme odovzdať parametre. Všetky tieto parametre sú dostupné ako premenné pomenované ako čísla.

Premenná s názvom 1 obsahuje hodnotu prvého parametra, premenná 2 obsahuje hodnotu druhého atď. Tento bash skript vypíše hodnotu prvého parametra:

!/bin/bash
echo 1 dolár

Kontrolné konštrukcie v skriptoch

Vytvorenie bash skriptu by nebolo také užitočné bez schopnosti analyzovať určité faktory a vykonať potrebné akcie v reakcii na ne. Toto je pomerne zložitá téma, ale je veľmi dôležitá na vytvorenie bash skriptu.

V Bash je príkaz na kontrolu podmienok. Jeho syntax je nasledovná:

if príkaz_condition
potom
tím
inak
tím
fi

Tento príkaz skontroluje kód ukončenia príkazu podmienky a ak 0 (úspech) vykoná príkaz alebo niekoľko príkazov za slovom, potom, ak je kód ukončenia 1, vykoná sa blok else, fi znamená koniec bloku príkazov .

Ale keďže nás najčastejšie nezaujíma návratový kód príkazu, ale porovnávanie reťazcov a čísel, bol zavedený príkaz [[, ktorý umožňuje vykonávať rôzne porovnania a vydávať návratový kód v závislosti od výsledku príkazu. porovnanie. Jeho syntax je:

[[ parameter1 operátor parameter2 ]]

Na porovnanie používame nám už známe operátory<,>,=,!= atď. Ak je výraz pravdivý, príkaz vráti 0, ak nie - 1. Jeho správanie si môžete trochu otestovať v termináli. Návratový kód posledného príkazu je uložený v premennej $?:

Teraz, keď toto všetko skombinujeme, dostaneme skript s podmieneným výrazom:

!/bin/bash
ak [[ $1 > 2 ]]
potom
echo $1" je väčšie ako 2"
inak
echo $1" je menej ako 2 alebo 2"
fi

Tento dizajn má samozrejme výkonnejšie možnosti, ale je príliš zložitý na to, aby sme ich pokryli v tomto článku. Možno o tom napíšem neskôr. Prejdime zatiaľ k cyklom.

Slučky v skriptoch

Výhodou programov je, že vieme v niekoľkých riadkoch naznačiť, aké úkony je potrebné vykonať viackrát. Napríklad je možné písať bash skripty, ktoré pozostávajú len z niekoľkých riadkov, ale bežia celé hodiny, analyzujú parametre a vykonávajú potrebné akcie.

Najprv sa pozrime na cyklus for. Tu je jeho syntax:

pre premennú v zozname
robiť
tím
hotový

Iteruje cez celý zoznam a postupne priraďuje hodnotu zo zoznamu do premennej, po každom priradení vykoná príkazy umiestnené medzi do a done.

Pozrime sa napríklad na päť čísel:

pre index v 1 2 3 4 5
robiť
echo $index
hotový

Alebo môžete vypísať všetky súbory z aktuálneho adresára:

pre súbor v $(ls -l); urobiť echo "$súbor"; hotový

Ako viete, môžete nielen zobrazovať mená, ale aj vykonávať potrebné akcie, čo je veľmi užitočné pri vytváraní bash skriptu.

Druhý cyklus, na ktorý sa pozrieme, je cyklus while, ktorý beží, kým príkaz condition nevráti kód 0, úspech. Pozrime sa na syntax:

zatiaľ čo príkazová podmienka
robiť
tím
hotový

Pozrime sa na príklad:

!/bin/bash
index = 1
zatiaľ čo [[ $index< 5 ]]
robiť
echo $index
nech "index=index+1"
hotový

Ako vidíte, všetko je hotové, príkaz let jednoducho vykoná zadanú matematickú operáciu, v našom prípade zvýši hodnotu premennej o jednu.

Rád by som upozornil ešte na jednu vec. Konštrukty ako while, for, if sú navrhnuté tak, aby boli napísané na niekoľko riadkov, a ak sa ich pokúsite napísať na jeden riadok, dostanete chybu. Ale napriek tomu je to možné, ak to chcete urobiť, vložte bodkočiarku ";" tam, kde by mal byť zalomenie riadku. Napríklad predchádzajúca slučka môže byť vykonaná ako jeden riadok:

index=1; zatiaľ čo [[ $index< 5 ]]; do echo $index; let "index=index+1"; done;

Všetko je veľmi jednoduché, snažil som sa nekomplikovať článok ďalšími pojmami a schopnosťami bash, len najzákladnejšími vecami. V niektorých prípadoch možno budete musieť vytvoriť gui pre bash skript, potom môžete použiť programy ako zeity alebo kdialog, pomocou ktorých je veľmi pohodlné zobrazovať správy používateľovi a dokonca si od neho vyžiadať informácie.

závery

Teraz rozumiete základom vytvárania skriptu v Linuxe a dokážete napísať skript, ktorý potrebujete, napríklad na zálohovanie. Snažil som sa recenzovať bash skripty od začiatku. Preto neboli zohľadnené všetky aspekty. Možno sa k tejto téme vrátime v niektorom z nasledujúcich článkov.

V komunite systémových administrátorov a bežných používateľov Linuxu je prax písania skriptov Bash často známa s cieľom uľahčiť a zjednodušiť vykonávanie konkrétnych cieľov v operačnom systéme Linux. V tomto článku sa pozrieme na písanie skriptov v Bash, pozrieme sa na základné operátory, ako aj na to, ako fungujú, takpovediac, Bash skripty od nuly. Jednoducho povedané, raz ste napísali poradie udalostí, ktoré je potrebné vykonať, zapísali údaje atď., Potom jednoducho a jednoducho napíšete jeden malý príkaz a všetky procedúry sa vykonajú podľa potreby.

Je možné ísť ešte ďalej a naplánovať automatické spustenie skriptu. Ak ste už skúsenejší používateľ, potom s najväčšou pravdepodobnosťou často dosahujete rôzne ciele prostredníctvom terminálu. Toto je len príklad a existuje veľa takýchto akcií, dokonca aj zálohovanie a nahrávanie skopírovaných súborov na vzdialený server. Často existujú úlohy, pri ktorých je potrebné spustiť niekoľko príkazov postupne, napríklad na aktualizáciu systému musíte najskôr aktualizovať úložiská a až potom stiahnuť nové verzie balíkov.

Toto je príkazový shell, kde máte možnosť zadávať rôzne príkazy, ktoré začnú vykonávať rôzne práce vysokou rýchlosťou a plodne. Absolútne všetka sila operačného systému Linux je v používaní terminálu. Preto, aby ste nepísali rovnaké príkazy niekoľkokrát, môžete použiť skripty. Je to veľmi pohodlné, jednoducho skombinujete niekoľko príkazov, ktoré majú nejaký účinok, a potom ich vykonáte rovnakým príkazom alebo dokonca pomocou skratky. Pre operačný systém Linux bolo vytvorených veľa skriptov, ktoré sa vykonávajú v rôznych príkazových shelloch. No v princípe tomu už zjavne rozumieš.

Operačný systém považuje za spustiteľné iba tie súbory, ktoré majú priradenú charakteristiku spustiteľnosti. A tlmočník vyslovuje riadok po riadku v rade a vykonáva všetky direktívy, ktoré sú prítomné v súbore. Ak je však pre nich nastavená charakteristika vykonateľnosti, na ich spustenie sa použije špecializovaný počítačový program - tlmočník, najmä bash shell. Môžeme ho spustiť ako ktorýkoľvek iný program pomocou terminálového servera, alebo môžeme spustiť shell a povedať mu, ktorý súbor má spustiť.

V tomto prípade nepotrebujete ani príznak spustiteľnosti. Namiesto toho sa používajú podpisy začiatku súboru a špeciálne príznaky. Na aktiváciu skriptu v OS Linux máme niekoľko rôznych metód. OS Linux prakticky nepoužíva príponu súboru na určenie jeho typu na úrovni systému. Správcovia súborov to dokážu, ale nie vždy. Operačný systém považuje za spustiteľné iba tie súbory, ktoré majú priradenú charakteristiku spustiteľnosti. Sú to obyčajné súbory, ktoré obsahujú text.

Linuxové Bash skripty pre figuríny

Konštrukt bash možno opísať v 7 povinnostiach podobného typu: „volanie interpretera príkazov – telo skriptu bash – koniec skriptu“. Skripty sa píšu s podporou rôznych textových editorov a ukladajú sa ako textové počítačové dáta. Aby to však bolo pohodlnejšie, ukladám ich spolu s príponou „*.sh“. Ale pozrime sa na to všetko na príklade konkrétneho cieľa. Existuje použitie, ktoré je potrebné spustiť s pomerne veľkým súborom charakteristík. Budete musieť často začínať a ste príliš leniví na to, aby ste zakaždým zadávali tieto vlastnosti. Aby sme boli konkrétnejší, pozrime sa, ako tento efekt vyzerá:

/home/Admin/soft/sgconf/sgconf -s 10.10.10.1 -p 5555 -a Admin -w 112233 -u user -c 100

Pre tento skript použijeme interpret bash. Primárny proces, ktorý vy a ja potrebujeme, je zavolať tlmočníka. Otvorte textový editor a napíšte kód.

Pridajme túto operáciu berúc do úvahy zadané premenné:

/home/Admin/soft/sgconf/sgconf -s 10.10.10.1 -p 5555 -a Admin -w 112233 -u $user -c $cash

Text, ktorý zadáme do denníkov, bude vyzerať takto: text=“Zostatok používateľa „používateľ“ bol včas doplnený o „hotovostné“ ruble“

Textový argument sa líši v závislosti od používateľa, peňažných a časových premenných

if [ -e /home/Admin/scripts/sgconf/sgconf.log] then echo text >> /home/Admin/scripts/sgconf/sgconf.log else echo text > /home/Admin/scripts/sgconf/sgconf.logfi

Teraz, keď potrebujeme niekomu vložiť peniaze, spustíme skript príkazom „sh sgconf.sh“, zadáme meno platiteľa a sumu platby. Žiadne dlhé rady, žiadne bolesti hlavy pri neustálom zadávaní rovnakých hodnôt.

Vytvorte bash skript v OS Linux

Ak chcete napísať jednoduchý skript v bash, musíme vykonať nasledujúce bežné postupy. Na príkazovom riadku Linuxu vytvoríme nezmyselný súbor (nazývame ho napríklad firstscript) a otvoríme ho na úpravu v našom obľúbenom textovom editore (vi/vim, nano, gedit atď.). Na vývoj skriptu nebudete potrebovať veľa úsilia, ale na načrtnutie skriptu (programu) si budete musieť naštudovať rôznu pomocnú literatúru. Popíšeme si základy písania skriptov, takže začnime, ale ak neviete, čo je terminál a ako ho používať, potom je toto miesto pre vás. Na úplnom začiatku, aby sme mohli písať bash, musíme vytvoriť adresár pre naše skripty a súbor, do ktorého budeme písať všetko, preto otvoríme terminál a vytvoríme adresár.

Prejdite do novovytvoreného adresára

A vytvorte súbor

sudo gedit script.sh

V mojom príklade vytvorím skript aktualizácie systému a zapíšem ho do tohto súboru. Otvoríme textový editor gedit, vim sa mi páči viac, ale nebude medzi vami všeobecne akceptovaný, preto ho zobrazujem na štandardnom.

sudo apt update;sudo apt full-upgrade;

Urobte súbor skriptu spustiteľným (ak ešte nie je spustiteľný). Spúšťanie sh skriptov z príkazového riadku je jednoduché. Spustite bash skript linux.

chmod +x script.sh

Skript spustíme jednoduchým zadaním cesty k nemu:

cesta/k/script.sh

Ak je skript v aktuálnom adresári, musíte pred názvom súboru skriptu zadať ./:

Niekedy na spustenie skriptu potrebujete práva superužívateľa, potom pred skript napíšte príkaz sudo:

sudo./script.shsudo cesta/k/script.sh

Skript môžete samozrejme spustiť priamo zadaním interpreta: sh, bash a ďalšie:

bash script.shsh cesta/k/script.sh

Ako vidíte, spustenie sh skriptu v Linuxe je pomerne bežná úloha, aj keď ešte nie ste veľmi oboznámení s terminálom. Skriptov je naozaj veľa a možno budete musieť niektoré z nich spustiť. V tejto príručke sme sa pozreli na užitočné linuxové bash skripty, ktoré môžete použiť pri používaní operačného systému Linux. V tomto článku sme sa pozreli na užitočné linuxové bash skripty, ktoré môžete použiť pri práci so systémom. Niektoré z nich pozostávajú z niekoľkých riadkov, niekoľko je umiestnených v jednom riadku. Existujú menšie úryvky, ktoré môžete použiť vo svojich skriptoch, ako aj plnohodnotné dialógové skripty na prácu s nimi prostredníctvom konzoly.