Pišemo skripte u Linuxu (učenje na primjerima). Pisanje skripti u Bashu Kako stvoriti skripte u Ubuntuu

Pisanje skripti u Linuxu (učenje s primjerima)

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

1. Uvod

Što vam je potrebno za pisanje skripti
Posjedovanje alata naredbeni redak i njihove potrebne opcije.
Osnovno znanje na engleskom razina osnovne škole neće škoditi.

Zašto su potrebne skripte?
Prvo, administriranje Linux poslužitelja u jednom ili drugom stupnju svodi se na sustavno izvršavanje istih naredbi. Štoviše, nije nužno da te naredbe izvršava osoba. Mogu se programirati da ih izvrši stroj.
Drugo, čak i samo obavljanje običnog zadatka, koji (odjednom) iznosi 20-1000... monotonih operacija PUNO je lakše implementirati u skriptu.

Što je skripta
Skripta je skup instrukcija koje računalo mora izvršiti određenim redoslijedom iu određeno vrijeme. Instrukcije mogu biti ili interne naredbe ljuske (ciklusi, uvjeti, obrada tekstualnih informacija, rad s varijablama okruženja itd.), ili bilo koji program koji izvršavamo u konzoli s potrebnim parametrima.

Kako napisati skriptu
U našem slučaju, scenarij će biti tekstualna datoteka s atributima izvršenja. Ako datoteka skripte počinje nizom #!, koji se u UNIX svijetu naziva sha-bang, onda to govori sustavu koji tumač treba koristiti za izvršenje skripte. Ako je ovo teško razumjeti, samo zapamtite da ćemo početi pisati sve skripte s linijom #!/bin/bash ili #!/bin/sh, a zatim će uslijediti naredbe i komentari za njih.

Oproštajne riječi
Iskreno vam savjetujem da napišete što više komentara na gotovo svaki redak u scenariju. Vrijeme će proći i morat ćete promijeniti ili modernizirati scenarij koji ste jednom napisali. Ako se ne sjećate ili ne razumijete što je napisano u scenariju, postaje teško to promijeniti; lakše je pisati ispočetka.

Koje bi nam skripte mogle trebati:

    postavljanje pravila vatrozida prilikom pokretanja sustava.
    izvođenje sigurnosne kopije postavki i podataka.
    pokretanje u određeno vrijeme (po mogućnosti svake noći) programa koji skenira zapise proxy poslužitelja i proizvodi prikladno web izvješće o količini preuzetog prometa.
    slanje informacija e-poštom da je netko pristupio našem poslužitelju putem ssh-a, vrijeme konekcije i adresa klijenta.

O načinu pisanja scenarija
Kreiramo tekstualnu datoteku, uredimo je, postavimo prava izvršenja, pokrenemo je, tražimo greške, ispravimo je, pokrenemo je, tražimo greške...
Kada je sve ispolirano i radi ispravno, stavljamo to u autoload ili u planer na određeno vrijeme.

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

2. Učenje pisanja skripti u internom BASH jeziku
izvornik: https://www.linuxconfig.org/Bash_scripting_Tutorial

Ovaj vodič ne podrazumijeva prethodno znanje o tome kako pisati skripte koristeći interni Bash jezik. Uz pomoć ovog vodiča, uskoro ćete otkriti da je pisanje skripti vrlo jednostavan zadatak. Započnimo naš vodič jednostavnom skriptom koja ispisuje niz "Hello World!" (prijevod s engleskog - Pozdrav svima!)

1. Scenarij “Pozdrav svima”
Evo vašeg prvog primjera bash skripte:

#!/bin/bash
echo "Hello World"

Idemo u direktorij koji sadrži našu datoteku hello_world.sh i učinimo je izvršnom:

Kod: Odaberite sve $ chmod +x hello_world.sh

Pokretanje skripte za izvršenje

Kod: Odaberite sve $ ./hello_world.sh

2. Jednostavno arhiviranje bash skripte

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

Kod: Odaberite sve $ ./backup.sh

$ du -sh moj domaći_direktorij.tar.gz
41M moj domaći_direktorij.tar.gz

3. Rad s varijablama
U ovom primjeru deklariramo jednostavnu varijablu i prikazujemo je na ekranu pomoću naredbe echo

#!/bin/bash
STRING=”ZDRAVO SVIJETE!!!”
echo $STRING

Kod: Odaberite sve $ ./hello_world.sh
POZDRAV SVIJETE!!!

Naša skripta za arhiviranje s varijablama:

#!/bin/bash
OF=mojdomaći_imenik_$(datum +%Y%m%d).tar.gz
IF=/kućna/korisnik
tar -czf $OD $IF

Kod: Odaberite sve $ ./backup.sh
tar: Uklanjanje vodećeg "\" iz imena članova
$ du -sh *tar.gz
41M moj domaći_imenik_20100123.tar.gz

3.1 Globalne i lokalne varijable

#!/bin/bash
# Deklarirajte globalnu varijablu
# Takva se varijabla može koristiti bilo gdje u ovoj skripti
VAR="globalna varijabla"
funkcija bash(
# Deklarirajte lokalnu varijablu
# Takva varijabla je važeća samo za funkciju u kojoj je deklarirana
lokalni VAR=”lokalna varijabla”
echo $VAR
}
echo $VAR
udarac
# Imajte na umu da se globalna varijabla nije promijenila
echo $VAR

Kod: Odaberite sve $ ./varijable.sh
globalna varijabla
lokalna varijabla
globalna varijabla

4. Proslijedite argumente skripti

#!/bin/bash
# Koristite unaprijed definirane varijable za pristup argumentima
# Ispis argumenata na ekran
echo $1 $2 $3 ‘ -> echo $1 $2 $3'

#Možemo također pristupiti argumentima kroz poseban niz args=("$@")
# Ispis argumenata na ekran
echo $(args) $(args) $(args) ‘ -> args=(“$@”); echo $(args) $(args) $(args)'

# Koristite $@ za ispis svih argumenata odjednom
echo $@ ' -> echo $@'

Koristite varijablu $# za prikaz broja argumenata proslijeđenih skripti
echo Broj proslijeđenih argumenata: $# ' -> echo Broj proslijeđenih argumenata: $#'

Kod: Odaberi sve $ ./arguments.sh Bash Scripting Tutorial
Vodič za bash skriptiranje -> echo $1 $2 $3
Vodič za Bash skriptiranje -> args=("$@"); echo $(args) $(args) $(args)
Vodič za bash skriptiranje -> echo $@
Broj proslijeđenih argumenata: 3 -> echo Broj proslijeđenih argumenata: $#

5. Izvršavanje naredbi ljuske u skripti

#!/bin/bash
# koristite povratne navodnike " ` ` " za izvršenje naredbe ljuske
echo `uname -o`
# sada pokušajmo bez navodnika
odjek uname -o

Kod: Odaberite sve $ uname -o
GNU/Linux
$ ./bash_backtricks.sh
GNU/Linux
neime -o

Kao što vidite, u drugom slučaju prikazana je sama naredba, a ne rezultat njezina izvršenja

6. Čitanje korisničkog unosa (interaktivnost)

#!/bin/bash
echo -e "Bok, upišite riječ: \c "
pročitana riječ
echo "Riječ koju ste unijeli je: $word"
echo -e “Možete li, molim vas, unijeti dvije riječi? »
pročitaj riječ1 riječ2
echo "Ovo je vaš unos: \"$word1\" \"$word2\""
echo -e “Što mislite o bash skriptiranju? »
# read naredba sada pohranjuje odgovor u zadanu ugrađenu varijablu $REPLY
čitati
echo “Rekli ste $REPLY, drago mi je to čuti! »
echo -e “Koje su tvoje omiljene boje? »
# -a čini naredbu za čitanje za čitanje niza
čitati -a boje
echo “Moje omiljene boje su također $(boje), $(boje) i $(boje):-)”

Kod: Odaberite sve $ ./read.sh
Pozdrav, upišite riječ: nešto
Riječ koju ste unijeli je: nešto
Možete li, molim vas, unijeti dvije riječi?
Debian Linux
Evo vašeg unosa: "Debian" "Linux"
Što mislite o bash skriptiranju?
dobro
Dobro si rekao, drago mi je to čuti!
Koje su vam omiljene boje?
plava zelena crna
Moje omiljene boje su također plava, zelena i crna:-)

7. Korištenje zamke

#!/bin/bash
# proglasiti zamku
zamka bashtrap INT
# očistite ekran
čisto;
# Hook funkcija se izvršava kada korisnik pritisne CTRL-C:
# Zaslon će prikazati => Izvršavanje podrutine bash trap!
# ali skripta će se nastaviti izvoditi
klopka ()
{
echo "CTRL+C otkriven !…izvršavanje bash trap-a!"
}
# skripta će brojati do 10
za a u `seq 1 10`; čini
echo "$a/10 za izlaz."
spavati 1;
učinjeno
echo "Izlaz iz Bash Trap primjera!!!"

Kod: Odaberite sve $ ./trap.sh
1/10
2/10
3/10
4/10
5/10
6/10

7/10
8/10
9/10
CTRL+C otkriveno !...izvršava se bash trap !
10/10
Exit Bash Trap Primjer!!!

Kao što vidite, kombinacija tipki Ctrl-C nije zaustavila izvršavanje skripte.

8. Nizovi
8.1 Deklariranje jednostavnog niza

#!/bin/bash
# Deklarirajte jednostavan niz s 4 elementa
ARRAY=('Debian Linux' 'Redhat Linux' Ubuntu Linux)
# Dohvatite broj elemenata u nizu
ELEMENTI=$(#NIZ[@])

# proći kroz svaki element niza
za ((i=0;i<$ELEMENTS;i++)); do
echo $(ARRAY[$(i)])
učinjeno

Kod: Odaberite sve $./arrays.sh
Debian Linux
Redhat Linux
Ubuntu
Linux

8.2 Popunjavanje niza vrijednostima iz datoteke

#!/bin/bash
# Deklarirajte niz
deklarirati -a NIZ
# exec naredba # stdin (obično tipkovnica) bit će izveden iz ove datoteke. To omogućuje čitanje
# sadržaj datoteke, redak po redak, i analizirati svaki redak unesen korištenjem sed i/ili awk.
izvrsiti 10 neka broji=0

dok čitate LINE<&10; do

NIZ[$count]=$LINE
((broj++))
učinjeno

echo Broj elemenata: $(#ARRAY[@])
# Ispis vrijednosti niza
echo $(ARRAY[@])
# zatvorite datoteku
exec 10>&-

Kod: Odaberite sve $ cat bash.txt
Debian Linux
Redhat Linux
Ubuntu
Linux
$ ./nizovi.sh
Broj elemenata: 4
Debian Linux Redhat Linux Ubuntu Linux

9. If-then-else uvjeti
9.1. Jednostavna upotreba uvjeta "if-else".
Obratite pozornost na razmake u uglatim zagradama bez kojih uvjet neće funkcionirati.

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

# provjera prisutnosti imenika
if [ -d $direktorij ]; zatim
echo "Imenik postoji"
drugo
echo "Imenik ne postoji"
fi

Kod: Odaberite sve $ ./if_else.sh
Imenik ne postoji
$ mkdir BashScripting
$ ./if_else.sh
Imenik postoji

9.2 Ugniježđeni if-else uvjeti

#!/bin/bash
# Deklarirajte varijablu s vrijednošću 4
izbor=4
# Prikaz
odjek "1. Bash"
odjek "2. Skriptiranje"
odjek "3. Vodič"

# Izvrši dok je varijabla jednaka četiri
# Petlja
dok [ $choice -eq 4 ]; čini

# čitanje korisničkog unosa
pročitajte izbor
# ugniježđeni if-else uvjet
if [ $choice -eq 1 ] ; zatim

echo "Odabrali ste riječ: Bash"

if [ $choice -eq 2 ] ; zatim
echo "Odabrali ste riječ: Skriptiranje"
drugo

if [$choice -eq 3] ; zatim
echo "Odabrali ste riječ: Vodič"
drugo
echo "Molimo odaberite između 1-3!"
odjek "1. Bash"
odjek "2. Skriptiranje"
odjek "3. Vodič"
echo -n “Molim vas odaberite riječ? »
izbor=4
fi
fi
fi
učinjeno

Kod: Odaberite sve $ ./nested.sh
1. Bash
2. Skriptiranje
3. Udžbenik

5

1. Bash
2. Skriptiranje
3. Udžbenik
Odaberite riječ?
4
Odaberite između 1-3!
1. Bash
2. Skriptiranje
3. Udžbenik
Odaberite riječ?
3
Odabrali ste riječ: Tutorial

Dakle, prvo se izvršava tijelo petlje "while", jer varijabla izbora je inicijalno jednaka četiri. Zatim čitamo korisnički unos u nju, i ako unos nije jednak 1,2 ili 3, tada našu varijablu ponovno činimo jednakom 4, i stoga se tijelo petlje ponavlja (morate unijeti 1,2 ili 3 ponovno).

10. Usporedbe
10.1 Aritmetičke usporedbe

poručnik<
-gt>
-le<=
-ge >=
-eq ==
-ne !=

#!/bin/bash

NUM1=2
NUM2=2
if [$NUM1 -eq $NUM2]; zatim
echo "Obje vrijednosti su jednake"
drugo
echo "Vrijednosti NISU jednake"
fi

Kod: Odaberite sve $ ./equals.sh
Obje vrijednosti su jednake

#!/bin/bash
# Deklarirajte varijable s cjelobrojnim vrijednostima
NUM1=2
NUM2=3
if [$NUM1 -eq $NUM2]; zatim
echo "Obje vrijednosti su jednake"
drugo
echo "Vrijednosti NISU jednake"
fi

Kod: Odaberite sve $ ./equals.sh
Vrijednosti NISU jednake

#!/bin/bash
# Deklarirajte varijable s cjelobrojnim vrijednostima
NUM1=2
NUM2=1
if [$NUM1 -eq $NUM2]; zatim
echo "Obje vrijednosti su jednake"
elif [$NUM1 -gt $NUM2]; zatim
echo "$NUM1 je veće od $NUM2"
drugo
echo "$NUM2 je veće od $NUM1"
fi

Kod: Odaberite sve $ ./equals.sh
2 je veće od 1

10.2 Usporedbe znakova i teksta

Isto
!= nije isto
< меньще чем
> više od
-n s1 varijabla s1 nije prazna
-z s1 varijabla s1 je prazna

#!/bin/bash

S1="Bash"

S2="Skriptiranje"
if [$S1 = $S2]; zatim

drugo
echo "Stringovi NISU jednaki"
fi

Kod: Odaberite sve $ ./statement.sh
Nizovi NISU jednaki

#!/bin/bash
# Deklarirajte znakovnu varijablu S1
S1="Bash"
# Deklarirajte znakovnu varijablu S2
S2=”Bash”
if [$S1 = $S2]; zatim
echo "Oba niza su jednaka"
drugo
echo "Stringovi NISU jednaki"
fi

Kod: Odaberite sve $ ./statement.sh
Oba su niza jednaka

11. Provjera datoteka

B naziv datoteke Blokiraj posebnu datoteku
-c naziv datoteke Datoteka s posebnim znakovima
-d ime imenika Provjera postojanja imenika
-e naziv datoteke Provjerite postojanje datoteke
-f naziv datoteke Provjera redovitog postojanja datoteke, a ne direktorija
-G naziv datoteke Provjerite postoji li datoteka i pripada li efektivnom ID-u grupe.
-g naziv datoteke true ako datoteka postoji i ima set-group-id.
-k naziv datoteke Ljepljivi bit
-L naziv datoteke Simbolička veza
-O naziv datoteke Istinito ako datoteka postoji iu vlasništvu je stvarnog ID-a korisnika.
-r naziv datoteke Provjerite je li datoteka čitljiva
-S naziv datoteke Provjerite je li datoteka utičnica
-s naziv datoteke Provjerite je li veličina datoteke različita od nule
-u naziv datoteke Provjerite je li set-ser-id bit datoteke postavljen
-w naziv datoteke Provjerite je li u datoteku moguće pisati
-x naziv datoteke Provjerite je li datoteka izvršna

#!/bin/bash
datoteka="./datoteka"
if [ -e $file ]; zatim
echo "Datoteka postoji"
drugo
echo "Datoteka ne postoji"
fi

Šifra: Odaberite sve $ls
datoteka.sh
$ ./file.sh
Mapa ne postoji
$ dodirna datoteka
$ls
datoteka file.sh
$ ./file.sh
dokument postoji

Slično, na primjer, možemo koristiti "while" petlje za provjeru postoji li datoteka. Ova skripta će spavati dok datoteka ne postoji. Obratite pažnju na Bash negator "!" koji negira (invertira) opciju -e.

12. Ciklusi
12.1. Za petlju

#!/bin/bash
# za petlju
za f u $(ls /var/); čini
odjek $f
učinjeno

Pokretanje for petlje iz bash naredbenog retka:

Kod: Odaberite sve $ za f u $(ls /var/); do echo $f; gotovo Kod: Odaberite sve $ za f u $(ls /var/); do echo $f; učinjeno
sigurnosne kopije
predmemorija
sudar
igre
lib
lokalni
zaključati
log
pošta
opt
trčanje
kalem
tmp
www

12.2. Dok petlja

#!/bin/bash
BROJ = 6
# while petlja
dok [$COUNT -gt 0]; čini

neka COUNT=COUNT-1
učinjeno

Kod: Odaberite sve $ ./while_loop.sh
Vrijednost brojanja je: 6
Vrijednost brojanja je: 5
Vrijednost brojanja je: 4
Vrijednost brojanja je: 3
Vrijednost brojanja je: 2
Vrijednost brojanja je: 1

12.3. Do petlje

#!/bin/bash
BROJ = 0
# do petlje
do [$COUNT -gt 5]; čini
echo Vrijednost brojanja je: $COUNT
neka COUNT=COUNT+1
učinjeno

Kod: Odaberite sve $ ./until_loop.sh
Vrijednost brojanja je: 0
Vrijednost brojanja je: 1
Vrijednost brojanja je: 2
Vrijednost brojanja je: 3
Vrijednost brojanja je: 4
Vrijednost brojanja je: 5

12.4. Petlje s implicitnim uvjetima
U sljedećem primjeru, uvjet while petlje je prisutnost standardnog unosa.
Tijelo petlje će se izvršavati sve dok postoji nešto za preusmjeravanje sa standardnog izlaza na naredbu za čitanje.

#!/bin/bash
# Ova skripta će tražiti i uklanjati razmake
# u datotekama, zamjenjujući ih podvlakama
DIR="
Upravljanje petljom s naredbom read preusmjeravanjem izlaza unutar petlje.
pronaći $DIR -tip f | tijekom čitanja datoteke; čini
# koristite POSIX [:space:] klasu za pronalaženje razmaka u nazivima datoteka
if [[ "$file" = *[[:space:]]* ]]; zatim
# zamijenite razmake podvlakama
mv "$datoteka" `echo $datoteka | tr ‘ ‘ ‘_’`
fi;
učinjeno

Šifra: Odaberite sve $ ls -1
skripta.sh
$ dodirnite "datoteka s razmacima"
$ls -1
datoteka s razmacima
skripta.sh
$ ./script.sh
$ls -1
datoteka_s_razmacima
skripta.sh

13. Funkcije

#!/bin/bash
# Funkcije se mogu deklarirati bilo kojim redoslijedom
funkcija funkcija_B(
Funkcija odjeka B.
}
funkcija funkcija_A (
echo $1
}
funkcija funkcija_D(
funkcija odjeka D.
}
funkcija funkcija_C(
echo $1
}
# Funkcije poziva
# proslijedite parametar funkcijskoj funkciji A
function_A "Funkcija A."
funkcija_B
# proslijedite parametar funkcijskoj funkciji C
function_C "Funkcija C."
funkcija_D

Kod: Odaberite sve $ ./functions.sh
Funkcija A.
Funkcija B.
Funkcija C.
Funkcija D.

14. Operator odabira - Odaberite

#!/bin/bash
PS3='Odaberi jednu riječ:'
#Izaberi
odaberite riječ u "linux" "bash" "scripting" "tutorial"
čini
echo "Riječ koju ste odabrali je: $word"
# Prekini, inače će petlja biti beskrajna.
pauza
učinjeno
izlaz 0

Kod: Odaberite sve $ ./select.sh
1) linux
2) udarac
3) skriptiranje
4) poduka
Odaberite jednu riječ: 4
Riječ koju ste odabrali je: poduka

15. Operator odabira - Case

#!/bin/bash
echo "Koji je vaš preferirani programski/skriptni jezik"
echo "1) bash"
echo "2)perl"
echo "3) fiton"
echo "4) c++"
echo "5) Ne znam!"
pročitati slučaj;
# jednostavna struktura odabira slučajeva
# imajte na umu da je u ovom primjeru $case samo varijabla
# i ne mora se tako zvati. Ovo je samo primjer
slučaj $slučaj u
1) echo “Odabrali ste bash”;;
2) echo “Odabrali ste perl”;;
3) echo “Odabrali ste fiton”;;
4) echo “Odabrali ste c++”;;
5) izlaz
esac

Šifra: Odaberite sve $ ./case.sh
Koji je vaš preferirani programski/skriptni jezik
1) udarac
2) perl
3) fiton
4) c++
5) Ne znam!
4
Odabrali ste c++

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

Detaljnije informacije možete dobiti iz raznih izvora, primjerice ovdje
izvornik: 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

Za pisanje jednostavne bash skripte, moramo izvršiti sljedeće jednostavne korake:

Kako to sve funkcionira:

Prvi redak naše skripte #!/bin/bash neophodan je za uspješno izvođenje naše skripte.

drugi redak mkdir testdir stvara direktorij testdir

treći redak cd testdir omogućuje vam odlazak u kreirani direktorij testdir

tim dodir u sljedećem retku dodirnite file1 file2 file3 stvara tri datoteke

a posljednja naredba u retku naše skripte, ls -al, omogućuje prikaz sadržaja trenutnog direktorija u kojem su se, zahvaljujući prethodnom retku, pojavile tri prazne datoteke.

Kao što vidimo, u našem jednostavna skripta sve naredbe počinju u novom redu. Svaki redak, prilikom pokretanja skripte, sekvencijalno obavlja svoj posao, izvodeći određene radnje.

Ako svakodnevno izvršavate lanac bilo kojih identičnih naredbi (s konstantnim parametrima) u Linuxu, onda možda ima smisla da napišete iste jednostavna bash skripta, što će vam omogućiti da uštedite svoje vrijeme i automatizirate svoj rad.

Prije svega, shvatimo što je to skripta i zašto je to potrebno.

Skripta prevedeno s engleskog - scenarij. Svi gledamo filmove, mnogi od nas gledaju predstave. Da bi stvorili film/predstavu, scenaristi za njih pišu scenarije na temelju kojih glumci, scenu po scenu, izvode svoje uloge na pozornici od kojih nastaje film/predstava. Posao izrade scenarija prilično je mukotrpan, gdje treba voditi računa o svemu do najsitnijih detalja, kako bi umjetnici na kraju ispunili ono što je scenarist zamislio, a gledatelj vidio kompletno djelo.

Slično tome, skripte su napisane za izvršavanje popisa zadataka koje korisnik sastavlja (kod) kako bi ih lakše i brže izvršio u operativnom sustavu. Za pisanje jednostavnih skripti uopće nije potrebno imati programersko obrazovanje.

Prvo, stvorimo najjednostavniji skripta-Shell za ažuriranje sustava.

Izvršit ću sve radnje sa sustavom Ubuntu, ali su primjenjivi i na druge sustave Linux, izvedeno iz Ubuntu. Za ovo nam je potrebno: Uređivač teksta ispuniti ga potrebnim zadacima za izradu skripte (koda) i Terminal- izvršiti kreiranu skriptu. Ovi alati instalirani su u bilo kojoj distribuciji Linux zadano.

Dakle, otvorimo uređivač teksta Gedit i u njega unesite prve tražene znakove tzv šajkača.
šajkača u programiranju, ovo je niz od dva znaka: hash i uskličnik ( #! ) na početku datoteke skripte. I dodajte ovim znakovima bez razmaka /bin/sh- prevoditelj gdje će se skripta izvršiti. /bin/sh- to je obično Bourneova školjka ili kompatibilni tumač naredbenog retka koji prolazi "put/do/skripte" kao prvi parametar.
Prvi potrebni redak skripte izgledat će ovako:

# Moja prva skripta za ažuriranje Ubuntua

Znak hash (#) na samom početku retka tumaču/terminalu jasno daje do znanja da ovaj red ne treba čitati i izvršavati. Redak je potreban u kodu ove skripte kako bi tvorac skripte znao što će učiniti u ovom segmentu/sceni u kodu, kako se ne bi zbunio u budućnosti kada takvih redaka bude mnogo. Takve linije sa znakom hash nazivaju se - komentirao .

ažuriranje sudo apt
sudo apt upgrade -y

-y na kraju druge naredbe tumaču/terminalu jasno daje do znanja da se ova akcija/naredba mora izvršiti automatski, bez dodatne potvrde korisnika pritiskom na tipku Unesi. g- skraćenica za engleski Da, tj. Da.

To je sve. Vaša prva skripta je stvorena. Trebali biste dobiti nešto poput slike:


Sve što preostaje je spremiti kreiranu datoteku/skriptu i dati je Ime s obaveznim produžetkom na kraju - .sh. Proširenje .sh dodijeljen izvršnoj datoteci.
Dao sam mu Ime - ažuriranje.sh, spremanje u Početna mapa korisnik:


Kako bi stvorena datoteka/skripta bila izvršna, mora joj se dati dopuštenje za to. Postoje dva načina za to.

1. Pokrenite sljedeću naredbu u terminalu:

sudo chmod +x update.sh

2. Ili otvorite upravitelj datotekama Početna mapa(gdje ste spremili stvorenu skriptu), desnom tipkom miša kliknite datoteku, u kontekstnom izborniku - Svojstva - prava i aktivirajte stavku - Izvođenje: Dopusti da se datoteka izvrši kao program:


Za izvršenje kreirane skripte potrebno je otvoriti terminal (kao što sam napisao na samom početku članka da je terminal neophodan atribut/alat za izvršavanje skripte), unijeti sh, odvojen razmakom naziv skripte - ažuriranje.sh i pritisnite tipku Unesi:


Ili u terminalu u koji ulazimo sh i povucite kreiranu datoteku sa skriptom iz upravitelja datoteka (također odvojenu razmakom):


Nakon što se put datoteke prikaže nakon naredbe sh i razmak, samo pritisnite tipku Unesi(Enter) za izvođenje ažuriranja sustava:


Sada u bilo kojem trenutku možete ažurirati sustav pomoću vlastite skripte.

Da, netko bi mogao tvrditi da nije teško izvršiti ažuriranje sustava izvršavanjem ove dvije naredbe u terminalu, zašto se napuhivati ​​i stvarati neke skripte? Tako je. Ali ovo je primjer stvaranja jednostavnog scenarija koji pokazuje da "nisu bogovi ti koji spaljuju lonce" 😃.

Nakon što ste naučili pisati i koristiti jednostavne skripte, možete kreirati skriptu za postavljanje sustava, tako da ako se sustav ponovno instalira, možete koristiti kreiranu skriptu bez potrebe da svaki put tražite na Internetu stranice sa sličnim postavkama.

Mnogi od vas vjerojatno koriste stranice za postavljanje sustava, poput onih koje objavljujem nakon sljedećeg izdanja. Ubuntu - Ubuntu nakon instalacije ili slične stranice. Otvorite jedno od ovih mjesta: , zatim uređivač teksta da biste izradili skriptu.
Na primjer, napravio sam sljedeće prazno.

U uređivaču teksta unesite prvi traženi redak:

# Postavljanje Ubuntu-a nakon instalacije
# Ažuriranje sustava

Sljedeće su naredbe za ažuriranje sustava:

ažuriranje sudo apt
sudo apt upgrade -y

Redak opisa: Dodavanje spremišta:

# Dodavanje spremišta

I dodajte potrebna spremišta za daljnju instalaciju softvera:

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-repozitorij 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

Nakon dodavanja potrebnih repozitorija (ponavljam, možda imate vlastita repozitorija, imam primjer), trebate ažurirati sustav:

Redak opisa:

# Ažuriranje sustava nakon povezivanja repozitorija

I naredba koju treba izvršiti:

ažuriranje sudo apt

Sada kada su repozitoriji dodani i sustav ažuriran, vrijeme je za instaliranje programa:

# Instaliranje programa

Za instaliranje programa samo jednom unesite naredbu sudo apt instalirati, a zatim dodajte onoliko programa koliko želite u ovaj redak, odvojenih razmakom, glavno je da su pravilno sastavljeni. Ako se program sastoji od nekoliko riječi, njegova naredba mora biti monolitna, tj. sve riječi u njemu moraju biti unesene kroz crticu, na primjer: unity-tweak-tool:

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

Instalacija dodatnih kodeka

# Multimedija i kodeci

sudo apt instalirajte ubuntu-restricted-extras -y

Onemogućavanje kvarova sustava

# Onemogući izvješćivanje o rušenju sustava

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

Pa, to je vjerojatno sve. Ova generirana datoteka skripte trebala bi izgledati ovako:


Morate ga spremiti (kliknite na gumb Uštedjeti) i dati Ime s produžetkom .sh. Nazvala sam ga Postavke\Ubuntu.sh(možete ga nazvati drugačije, ali svakako koristite ekstenziju .sh):


Učinimo stvorenu skriptu izvršnom:

sudo chmod +x Postavljanje\Ubuntu.sh

Da biste izvršili stvorenu skriptu, unesite u terminal sh i naziv kreirane skripte odvojene razmakom ili sh, razmaknicu i povucite stvorenu datoteku u terminal, kao što je ranije objašnjeno u najjednostavnijoj skripti i pritisnite tipku Unesi, da to provedem.

Bilješka. Obrnuta kosa crta u naredbi Postavke\Ubuntu.sh izbjegava razmak u nazivu datoteke terminala između dvije odvojene riječi.

Nakon što se skripta izvrši, pohranite je za budućnost, radi eventualne reinstalacije sustava i rekonfiguracije, najbolje na zasebnoj particiji tvrdog diska u mapi /Dom. Ako nema, onda u usluzi u oblaku (Cloud data storage) kao što je: DropBox, Cloud Mail.Ru, Mega.co itd., tako da sami možete koristiti skriptu u bilo kojem trenutku ili pomoći prijateljima ili rođacima da postave sustav.

Koliko god grafičko sučelje u Linuxu bilo jednostavno i koliko god funkcija ima, još uvijek postoje zadaci koje je praktičnije rješavati putem terminala. Prvo, zato što je brže, a drugo, nemaju svi strojevi grafičko sučelje, na primjer, na poslužiteljima se sve radnje izvode preko terminala kako bi se uštedjeli računalni resursi.

Ako ste već iskusniji korisnik, vjerojatno često obavljate razne poslove preko terminala. Često postoje zadaci za koje morate pokrenuti nekoliko naredbi zauzvrat, na primjer, da biste ažurirali sustav, prvo morate ažurirati repozitorije, a tek onda preuzeti nove verzije paketa. Ovo je samo primjer i postoji mnogo takvih radnji, čak i sigurnosno kopiranje i učitavanje kopiranih datoteka na udaljeni poslužitelj. Stoga, kako ne biste upisivali iste naredbe nekoliko puta, možete koristiti skripte. U ovom članku ćemo se osvrnuti na pisanje skripti u Bashu, pogledati osnovne operatore, kao i njihov rad, da tako kažemo, Bash skripte od nule.

Skripta, ili kako se još naziva, skripta, je slijed naredbi koje čita i izvršava naizmjenično program interpreter, u našem slučaju to je program naredbenog retka - bash.

Skripta je obična tekstualna datoteka koja ispisuje uobičajene naredbe koje smo navikli unositi ručno, kao i program koji će ih izvršiti. Učitavač koji će izvršiti skriptu ne zna raditi s varijablama okruženja, pa mu treba proslijediti točnu putanju do programa koji treba pokrenuti. Zatim će vašu skriptu prenijeti u ovaj program i izvođenje će započeti.

Jednostavan primjer Bash shell skripte:

!/bin/bash
echo "Zdravo svijete"

Uslužni program echo prikazuje niz koji mu je proslijeđen kao parametar na zaslonu. Prvi redak je poseban, u njemu se navodi program koji će izvršavati naredbe. Općenito govoreći, možemo stvoriti skriptu u bilo kojem drugom programskom jeziku i odrediti željeni tumač, na primjer, u pythonu:

!/usr/bin/env python
print("Zdravo svijete")

Ili u PHP-u:

!/usr/bin/env php
echo "Zdravo svijete";

U prvom slučaju smo izravno ukazali na program koji će izvršavati naredbe, u sljedeća dva ne znamo točnu adresu programa pa tražimo od env uslužnog programa da ga pronađe po imenu i pokrene. Ovaj se pristup koristi u mnogim skriptama. Ali to nije sve. Na Linux sustavu, kako bi sustav izvršio skriptu, trebate postaviti oznaku izvršne datoteke na datoteku s njom.

Ova zastavica ne mijenja ništa u samoj datoteci, samo govori sustavu da ovo nije samo tekstualna datoteka, već program i treba ga izvršiti, otvoriti datoteku, prepoznati interpreter i izvršiti ga. Ako tumač nije naveden, koristit će se korisnički tumač prema zadanim postavkama. Ali budući da ne koriste svi bash, morate to eksplicitno navesti.

Napraviti:

chmod ugo+x datoteka_skripte

Sada pokrenimo naš mali prvi program:

./datoteka_skripte

Sve radi. Već znate kako napisati malu skriptu, recimo za ažuriranje. Kao što vidite, skripte sadrže iste naredbe koje se izvršavaju u terminalu i vrlo ih je jednostavno napisati. Ali sada ćemo to malo zakomplicirati. Budući da je skripta program, ona treba samostalno donositi neke odluke, pohranjivati ​​rezultate izvršenja naredbi i izvršavati petlje. Bash shell vam omogućuje sve ovo. Istina, ovdje je sve mnogo kompliciranije. Počnimo s nečim jednostavnim.

Varijable u skriptama

Pisanje skripti u Bashu rijetko je potpuno bez spremanja privremenih podataka, što znači stvaranje varijabli. Niti jedan programski jezik ne može bez varijabli, uključujući naš primitivni jezik naredbene ljuske.

Možda ste prije naišli na varijable okruženja. Dakle, to su iste varijable i rade na isti način.

Na primjer, deklarirajmo string varijablu:

string="Zdravo svijete"

Vrijednost našeg niza je u navodnicima. Ali u stvarnosti, navodnici nisu uvijek potrebni. Ovdje je sačuvano glavno načelo basha - razmak je poseban znak, graničnik, pa ako ne koristite navodnike, svijet će se već smatrati zasebnom naredbom, iz istog razloga zbog kojeg ne stavljamo razmake ispred i iza jednakog znak.

Simbol $ koristi se za prikaz vrijednosti varijable. Na primjer:

Modificirajmo našu skriptu:

!/bin/bash
string1="bok"
niz2=svijet
niz=$string1$string2
echo $string

I provjeravamo:

Bash ne razlikuje tipove varijabli na isti način na koji to čine jezici visoke razine poput C++; varijabli možete dodijeliti ili broj ili niz. Jednako tako, sve će se to smatrati nizom. Ljuska podržava samo spajanje nizova; da biste to učinili, jednostavno napišite nazive varijabli u nizu:

!/bin/bash
string1="bok"
niz2=svijet
niz=$string1$string2\ i\ ja
niz3=$string1$string2" i ja"
echo $string3

Provjeravamo:

Napominjemo da, kao što sam rekao, navodnici nisu obavezni ako u nizu nema posebnih znakova. Pogledajte pobliže obje metode spajanja nizova, one također pokazuju ulogu navodnika. Ako trebate složeniju obradu niza ili aritmetičke operacije, to nije uključeno u mogućnosti ljuske; za to se koriste uobičajeni uslužni programi.

Varijable i izlaz naredbi

Varijable ne bi bile toliko korisne da ne mogu pohranjivati ​​rezultate pokretanja uslužnih programa. Za to se koristi sljedeća sintaksa:

$(tim )

S ovim dizajnom, izlaz naredbe bit će preusmjeren izravno na mjesto odakle je pozvana, a ne na zaslon. Na primjer, uslužni program za datum vraća trenutni datum. Ove naredbe su ekvivalentne:

Da li razumiješ? Napišimo skriptu koja prikazuje hello world i datum:

niz1="zdravo svijete"
niz2=$(datum)

niz=$string1$string2

Sada znate dovoljno o varijablama da ste spremni za izradu bash skripte, ali ima još toga. Zatim ćemo pogledati parametre i kontrolne strukture. Dopustite mi da vas podsjetim da su ovo sve obične bash naredbe i da ih ne morate spremati u datoteku; možete ih izvršiti odmah u pokretu.

Parametri skripte

Nije uvijek moguće stvoriti bash skriptu koja ne ovisi o korisničkom unosu. U većini slučajeva morate pitati korisnika koju radnju poduzeti ili koju datoteku koristiti. Kada pozivamo skriptu, možemo joj proslijediti parametre. Svi ovi parametri dostupni su kao varijable nazvane brojevima.

Varijabla pod nazivom 1 sadrži vrijednost prvog parametra, varijabla 2 sadrži vrijednost drugog parametra itd. Ova bash skripta će ispisati vrijednost prvog parametra:

!/bin/bash
echo $1

Kontrolne konstrukcije u skriptama

Stvaranje bash skripte ne bi bilo toliko korisno bez mogućnosti analize određenih čimbenika i izvođenja potrebnih radnji kao odgovor na njih. Ovo je prilično složena tema, ali je vrlo važna za stvaranje bash skripte.

U Bashu postoji naredba za provjeru uvjeta. Njena sintaksa je sljedeća:

if naredba_uvjet
zatim
tim
drugo
tim
fi

Ova naredba provjerava izlazni kod naredbe uvjeta, i ako je 0 (uspjeh), tada izvršava naredbu ili nekoliko naredbi nakon riječi, tada, ako je izlazni kod 1, blok else se izvršava, fi znači kraj bloka naredbi .

Ali budući da nas najčešće ne zanima povratni kod naredbe, već usporedba znakovnih nizova i brojeva, uvedena je naredba [[ koja vam omogućuje izvođenje raznih usporedbi i izdavanje povratnog koda ovisno o rezultatu naredbe. usporedba. Njegova sintaksa je:

[[ parametar1 operator parametar2 ]]

Za usporedbu koristimo operatore koji su nam već poznati<,>,=,!= itd. Ako je izraz istinit, naredba će vratiti 0, ako nije - 1. Možete malo testirati njegovo ponašanje u terminalu. Povratni kod posljednje naredbe pohranjen je u varijabli $?:

Sada, kombinirajući sve ovo, dobivamo skriptu s uvjetnim izrazom:

!/bin/bash
ako [[ $1 > 2 ]]
zatim
echo $1" je veći od 2"
drugo
echo $1" manje je od 2 ili 2"
fi

Naravno, ovaj dizajn ima snažnije mogućnosti, ali je previše složen da bi ih pokrio u ovom članku. Možda ću kasnije pisati o ovome. Za sada prijeđimo na cikluse.

Petlje u skriptama

Prednost programa je što možemo u nekoliko redaka naznačiti koje radnje je potrebno izvršiti nekoliko puta. Na primjer, moguće je napisati bash skripte koje se sastoje od samo nekoliko redaka, ali se izvode satima, analiziraju parametre i izvode potrebne radnje.

Pogledajmo prvo for petlju. Ovo je njegova sintaksa:

za varijablu na popisu
čini
tim
učinjeno

Iterira kroz cijeli popis i dodjeljuje vrijednost s popisa varijabli jednu po jednu, nakon svake dodjele izvršava naredbe koje se nalaze između do i done.

Na primjer, pogledajmo pet brojeva:

za indeks u 1 2 3 4 5
čini
echo $index
učinjeno

Ili možete ispisati sve datoteke iz trenutnog direktorija:

za datoteku u $(ls -l); do echo "$file"; učinjeno

Kao što razumijete, ne samo da možete prikazati imena, već i izvršiti potrebne radnje, ovo je vrlo korisno pri stvaranju bash skripte.

Druga petlja koju ćemo pogledati je while petlja, koja se izvodi sve dok naredba uvjeta ne vrati kod 0, uspjeh. Pogledajmo sintaksu:

dok naredba uvjet
čini
tim
učinjeno

Pogledajmo primjer:

!/bin/bash
indeks=1
dok [[ $index< 5 ]]
čini
echo $index
neka "index=index+1"
učinjeno

Kao što vidite, sve je gotovo, naredba let jednostavno izvodi navedenu matematičku operaciju, u našem slučaju povećavajući vrijednost varijable za jedan.

Htio bih istaknuti još jednu stvar. Konstrukti kao što su while, for, if dizajnirani su za pisanje u nekoliko redaka, a ako ih pokušate napisati u jednom retku, dobit ćete pogrešku. Ali ipak, to je moguće; da biste to učinili, stavite točku i zarez ";" tamo gdje bi trebao biti prijelom retka. Na primjer, prethodna petlja može se izvršiti kao jedan redak:

indeks=1; dok [[ $index< 5 ]]; do echo $index; let "index=index+1"; done;

Sve je vrlo jednostavno, pokušao sam ne komplicirati članak dodatnim pojmovima i mogućnostima basha, samo najosnovnije stvari. U nekim slučajevima, možda ćete morati napraviti gui za bash skriptu, tada možete koristiti programe kao što su zenity ili kdialog, uz pomoć njih je vrlo zgodno prikazati poruke korisniku, pa čak i zatražiti informacije od njega.

zaključke

Sada razumijete osnove stvaranja skripte u Linuxu i možete napisati skriptu koja vam je potrebna, na primjer, za sigurnosno kopiranje. Pokušao sam ispočetka pregledati bash skripte. Stoga nisu uzeti u obzir svi aspekti. Možda ćemo se ovoj temi vratiti u nekom od sljedećih članaka.

U zajednici sistemskih administratora i običnih korisnika Linuxa često je poznata praksa pisanja Bash skripti kako bi se olakšalo i pojednostavilo izvršavanje specifičnih ciljeva u operativnom sustavu Linux. U ovom članku ćemo se osvrnuti na pisanje skripti u Bashu, pogledati osnovne operatore, kao i njihov rad, da tako kažemo, Bash skripte od nule. Jednostavnije rečeno, jednom ste napisali redoslijed događaja koji se trebaju napraviti, zapisali podatke i tako dalje, a zatim lako i jednostavno napišite jednu malu naredbu i sve procedure se provode po potrebi.

Moguće je ići i dalje i zakazati automatsko izvršavanje skripte. Ako ste već iskusniji korisnik, onda najvjerojatnije često ostvarujete razne ciljeve putem terminala. Ovo je samo primjer i postoji mnogo takvih radnji, čak i sigurnosno kopiranje i učitavanje kopiranih datoteka na udaljeni poslužitelj. Često postoje zadaci za koje morate pokrenuti nekoliko naredbi zauzvrat, na primjer, da biste ažurirali sustav, prvo morate ažurirati repozitorije, a tek onda preuzeti nove verzije paketa.

Ovo je naredbena ljuska u kojoj imate priliku izdavati različite naredbe koje će započeti izvršavanje različitih poslova velikom brzinom i plodonosno. Apsolutno sva snaga Linux OS-a je u korištenju terminala. Stoga, kako ne biste upisivali iste naredbe nekoliko puta, možete koristiti skripte. Ovo je vrlo zgodno, jednostavno kombinirate nekoliko naredbi koje imaju neki učinak, a zatim ih izvršite istom naredbom ili čak pomoću prečaca. Za operativni sustav Linux stvorene su mnoge skripte koje se izvršavaju u različitim naredbenim ljuskama. Pa, u principu, očito već razumijete ovo.

Operativni sustav smatra izvršnim samo one datoteke kojima je dodijeljena karakteristika izvršnosti. A tumač izgovara redak po redak u nizu i izvršava sve direktive koje su prisutne u datoteci. Ali ako je za njih postavljena karakteristika izvršnosti, tada se za njihovo pokretanje koristi specijalizirani računalni program - tumač, posebno bash shell. Možemo ga pokrenuti kao bilo koji drugi program koristeći terminalski poslužitelj ili možemo izvršiti ljusku i reći joj koju datoteku da izvrši.

U ovom slučaju, ne trebate čak ni oznaku izvršnosti. Umjesto toga, koriste se potpisi za početak datoteke i posebne oznake. Imamo nekoliko različitih metoda za omogućavanje skripte u Linux OS-u. Linux OS praktički ne koristi ekstenziju datoteke za određivanje vrste na razini sustava. Upravitelji datoteka to mogu učiniti, ali ne uvijek. Operativni sustav smatra izvršnim samo one datoteke kojima je dodijeljena karakteristika izvršnosti. To su obične datoteke koje sadrže tekst.

Linux Bash skripte za lutke

Bash konstrukt može se opisati u 7 obaveza sličnog tipa: “pozivanje tumača naredbi - tijelo bash skripte - kraj skripte.” Skripte se pišu uz podršku raznih uređivača teksta, a pohranjuju se kao tekstualni računalni podaci. Ali, kako bi bilo praktičnije, pohranjujem ih zajedno s ekstenzijom "*.sh". No, pogledajmo sve to na primjeru konkretnog cilja. Postoji uporaba koju treba pokrenuti s prilično velikim skupom karakteristika. Morat ćete često započeti, a previše ste lijeni da svaki put unosite te karakteristike. Da budemo precizniji, pogledajmo kako ovaj učinak izgleda:

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

Za ovu skriptu upotrijebimo bash interpreter. Primarni proces koji vama i meni treba je pozvati prevoditelja. Otvorite uređivač teksta i napišite kod.

Dodajmo ovu operaciju uzimajući u obzir unesene varijable:

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

Tekst koji ćemo unijeti u zapisnike bit će ovakav: text=”Stanje korisnika “korisnik” je na vrijeme nadopunjeno “gotovim” rubljama”

Argument teksta varira ovisno o varijablama korisnika, novca i vremena

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

Sada, kada trebamo nekome uplatiti novac, pokrećemo skriptu naredbom “sh sgconf.sh”, upisujemo ime uplatitelja i iznos uplate. Nema dugih redova, nema glavobolje sa stalnim unosom istih vrijednosti.

Napravite bash skriptu u Linux OS-u

Da bismo napisali jednostavnu skriptu u bashu, moramo izvršiti sljedeće uobičajene procedure. Kreirajmo besmislenu datoteku u naredbenom retku Linuxa (na primjer, zovemo je firstscript) i otvorimo je za uređivanje u našem omiljenom uređivaču teksta (vi/vim, nano, gedit itd.). Za izradu skripte nećete trebati puno truda, ali za skiciranje skripte (programa) trebat ćete proučiti raznu pomoćnu literaturu. Opisat ćemo osnove pisanja skripti, pa krenimo, ali ako ne znate što je terminal i kako ga koristiti, onda je ovo mjesto za vas. Na samom startu, da bismo napisali bash, moramo napraviti direktorij za naše skripte i datoteku u koju ćemo sve pisati, za to otvorimo terminal i napravimo direktorij.

Prijeđite na novostvoreni imenik

I izradite datoteku

sudo gedit skripta.sh

U svom primjeru izradit ću skriptu za ažuriranje sustava i zapisati je u ovu datoteku. Otvorit ćemo uređivač teksta gedit, meni se više sviđa vim, ali neće biti općeprihvaćen među vama, pa ga prikazujem na standardnom.

ažuriranje sudo apt; puna nadogradnja sudo apt;

Učinite datoteku skripte izvršnom (ako već nije). Pokretanje sh skripti iz naredbenog retka je jednostavno. Pokrenite bash skriptu linux.

chmod +x skripta.sh

Skriptu pokrećemo jednostavnim navođenjem putanje do nje:

put/do/skripte.sh

Ako je skripta u trenutnom direktoriju, morate navesti ./ prije naziva datoteke skripte:

Ponekad su vam potrebna prava superkorisnika za pokretanje skripte, tada jednostavno napišite naredbu sudo prije skripte:

sudo./script.shsudo put/do/script.sh

Možete, naravno, pokrenuti skriptu izravnim navođenjem tumača: sh, bash i drugi:

bash skripta.shsh put/do/skripte.sh

Kao što vidite, pokretanje sh skripte u Linuxu prilično je uobičajen zadatak, čak i ako još niste dobro upoznati s terminalom. Postoji stvarno puno skripti i možda ćete morati pokrenuti neke od njih. U ovom vodiču pogledali smo korisne bash skripte za Linux koje možete koristiti kada koristite OS Linux. U ovom smo članku pogledali korisne Linux bash skripte koje možete koristiti pri radu sa sustavom. Neki od njih sastoje se od nekoliko redaka, neki su smješteni u jednom redu. Postoje i manji isječci koje možete koristiti u svojim skriptama, kao i potpune dijaloške skripte za rad s njima putem konzole.