Upravljanje ubuntu-om kroz skriptu u windowsu. Izvršite skriptu kada se linux pokrene ili isključi. # Multimedija i kodeci

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

Kako sve funkcionira:

Prvi red naše skripte #!/bin/bash je neophodan da bi se naša skripta uspješno izvršila.

drugi red mkdir testdir kreira direktorij testdir

treći red cd testdir vam omogućava da odete na kreirani direktorij testdir

tim dodir u sledećem redu dodirnite fajl1 fajl2 fajl3 kreira tri fajla

a posljednja komanda u redu naše skripte, ls -al, omogućava vam da prikažete sadržaj trenutnog direktorija, u kojem su se, zahvaljujući prethodnom redu, pojavile tri prazne datoteke.

Kao što vidimo, u našoj jednostavna skripta sve komande počinju sa nova linija. Svaki red, prilikom pokretanja skripte, uzastopno obavlja svoj posao, izvodeći određene radnje.

Ako svakodnevno izvršavate lanac bilo koje identične komande (sa 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, hajde da shvatimo šta je to script i zašto je to potrebno.

Skripta prevedeno sa engleskog - scenario. Svi gledamo filmove, mnogi od nas gledaju predstave. Da bi kreirali film/predstavu, scenaristi za njih pišu scenarije, na osnovu kojih glumci izvode svoje uloge na sceni, scenu po scenu, od koje je film/predstava napravljena. Posao izrade scenarija je prilično mukotrpan, gdje treba uzeti u obzir sve do najsitnijeg detalja, kako bi umjetnici na kraju ispunili ono što je scenarista naumio, a gledalac mogao vidjeti kompletan rad.

Slično, skripte su napisane da izvrše listu zadataka koje korisnik sastavlja (kod) kako bi ih lakše i brže izvršili u operativni sistem. Za pisanje jednostavnih skripti uopće nije potrebno imati obrazovanje programera.

Prvo, napravimo najjednostavniji script-Shell da ažurirate sistem.

Sve radnje ću izvršiti sa sistemom Ubuntu, ali su primjenjivi i na druge sisteme Linux, izvedeno iz Ubuntu. Za ovo nam je potrebno: Uređivač teksta da ga ispunite potrebnim zadacima za kreiranje skripte (koda) i Terminal- da izvršite kreiranu skriptu. Ovi alati su instalirani u bilo kojoj distribuciji Linux default.

Pa, hajde da otvorimo uređivač teksta Gedit i u njega unesite prve tražene znakove shebang.
shebang u programiranju, to je niz od dva simbola: hash i uzvičnik (#! ) na početku datoteke skripte. I dodajte ovim znakovima bez razmaka /bin/sh- interpreter u kojem će se skripta izvršavati. /bin/sh- Ovo je obično Bourne shell ili kompatibilan interpreter komandne linije koji prolazi "put/do/skripta" kao prvi parametar.
Prva obavezna linija skripte će izgledati ovako:

# Moja prva skripta za ažuriranje Ubuntua

Heš znak (#) na samom početku reda jasno stavlja do znanja interpretatoru/terminalu da ovaj red ne treba čitati i izvršavati. Red je potreban u kodu ove skripte kako bi kreator skripte znao šta će uraditi u ovom segmentu/sceni u kodu, kako se ne bi zbunili u budućnosti kada takvih redova bude mnogo. Takve linije sa heš znakom nazivaju se - prokomentarisao .

sudo apt update
sudo apt nadogradnja -y

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

To je sve. Vaša prva skripta je kreirana. Trebalo bi da dobijete nešto poput slike:


Ostaje samo da sačuvate kreiranu datoteku/skriptu i date je Ime sa obaveznim produžetkom na kraju - .sh. Produžetak .sh dodijeljen izvršnoj datoteci.
Dao sam mu Ime - update.sh, ušteda u Početna fascikla korisnik:


Da bi kreirana datoteka/skripta bila izvršna, mora mu se dati dozvola za to. Postoje dva načina da to uradite.

1. Pokrenite sljedeću naredbu u terminalu:

sudo chmod +x update.sh

2. Ili otvorite upravitelj datoteka Početna fascikla(gde ste sačuvali kreiranu skriptu), kliknite desnim tasterom miša na datoteku, u kontekstualnom meniju - Svojstva - Prava i aktiviraj stavku - Performanse: Dozvolite da se datoteka izvršava kao program:


Da biste izvršili kreiranu skriptu, potrebno je da otvorite terminal (kao što sam napisao na samom početku članka da je terminal neophodan atribut/alat za izvršavanje skripte), unesite sh, odvojeno razmakom ime skripte - update.sh i pritisnite tipku Enter:


Ili u terminal koji ulazimo sh i prevucite sa file manager kreirana datoteka sa skriptom (takođe odvojena razmakom):


Nakon što se nakon naredbe prikaže putanja datoteke sh i razmak, samo pritisnite tipku Enter(Enter) da izvršite ažuriranje sistema:


Sada u svakom trenutku možete ažurirati sistem koristeći vlastitu skriptu.

Da, neko bi mogao tvrditi da ažuriranje sistema nije teško izvršiti izvršavanjem ove dvije komande u terminalu, zašto se nadimati i kreirati neke skripte? Tako je. Ali ovo je primjer kreiranja jednostavnog scenarija koji pokazuje da "nisu bogovi ti koji spaljuju lonce"

Iako možete nastaviti da se registrujete ručno kao što je prikazano gore, mnogo je bolje postaviti neke skripte da to rade automatski za vas.

Skup skripti automatizira proces prijave i pokreće PPP tako da sve što trebate učiniti (kao root ili kao član PPP grupe) je izdati jednu naredbu za pokretanje vaše veze.

15.1 Skripte za povezivanje za autentifikaciju pomoću korisničkog imena/lozinke

Ako vaš ISP ne zahtijeva PAP/CHAP, ovo su skripte koje su vam potrebne!

Ako je ppp paket ispravno instaliran, trebali biste imati dva primjera fajla. Za PPP 2.1.2 oni su u /usr/sbin, a za PPP 2.2 su u /etc/ppp/scripts. Zovu se

za PPP-2. 1.2

i za PPP-2. 2

ppp-off ppp-on ppp-on-dialer

Sada, ako koristite PPP 2.1.2, snažno vas pozivam da uklonite primjere datoteka. Postoje potencijalni problemi s njima (i nemojte mi reći da rade odlično), koristio sam ih jako dugo (čak sam ih preporučio u prvoj verziji ovog HOWTO-a)!

Za PPP 2.1.2 korisnik dostupan NAJBOLJA verzijašablon preuzet iz distribucije PPP 2.2. Predlažem da kopirate i koristite ove skripte umjesto stare PPP-2.1.2 skripte.

15.2 ppp-on skripta

Ovo je prva od PAR skripti koje zapravo pokreću vezu.

#!/bin/sh # # Skripta za pokretanje PPP veze. Ovo je prvi dio nekoliko scenarija. # Ovo nisu tajne skripte, pošto su kodovi vidljivi sa komandom ps. # Međutim, ovo je primjer. # # Ovo su parametri. Promijenite ih po potrebi. TELEFON=555-1212 # Telefonski broj veze ACCOUNT=george # Korisničko ime za prijavu ("George Burns") PASSWORD=gracie # Lozinka za ovaj nalog (i "Gracie Allen") LOCAL_IP=0.0.0.0 # Lokalna IP adresa, ako je poznata. Dynamic = 0.0.0.0 REMOTE_IP=0.0.0.0 # Udaljena IP adresa, ako želite. Tipično 0.0.0.0 NETMASK=255.255.255.0 # Odgovarajuća mrežna maska, ako je potrebno # # Izvezite ih tako da budu dostupni u "ppp-on-dialer" izvozu LOZINKA TELEFONSKOG NALOGA # # Ovo je lokacija skripte koja poziva telefon i registruje se na # sistem. Molimo koristite apsolutno ime datoteke jer opcija povezivanja # ne koristi varijablu $PATH. (Ako ovo uradite, "root" račun će # biti sigurnosna rupa, pa nemojte pitati.) # DIALER_SCRIPT=/etc/ppp/ppp-on-dialer # # Pokretanje veze # # exec /usr/sbin /pppd debug / dev/ttySx 38400 \ $LOCAL_IP:$REMOTE_IP \ poveži $DIALER_SCRIPT

Ovo je ppp-on-dialer skripta:

#!/bin/sh # # Ovo je drugi dio ppp-on skripte. Postavlja # željenu vezu. # /usr/sbin/chat -v \ TIMEOUT 3 \ PREKINI "\nZAUZET\r" \ PREKINI "\nNEMA ODGOVORA\r" \ PREKINI "\nZVONI\r\n\r\nZVONI\r" \ "" \rAT \ "OK-+++\c-OK" ATH0 \ TIMEOUT 30 \ OK ATDT$TELEPHONE \ CONNECT "" \ ogin:--ogin: $ACCOUNT \ assword: $PASSWORD

Za PPP-2.2, ppp-off skripta je otprilike ovako:

#!/bin/sh ############################################# ## ############################# # # Definišite uređaj koji će biti prekinut. # if [ "$1" = "" ]; zatim DEVICE=ppp0 ostalo DEVICE=$1 fi ######################################### ############################# # # Ako je pid datoteka ppp0 tu, onda program radi. Zaustavi je. ako [ -r /var/run/$DEVICE.pid ]; then kill -INT `cat /var/run/$DEVICE.pid` # # Ako kill ne uspije, tada se ne pokreće proces pod ovim pid-om. # Ovo takođe može značiti da postoji strana datoteka zaključavanja. # Možda želite da ga uklonite. ako [! "$?" = "0" ]; zatim rm -f /var/run/$DEVICE.pid echo "GREŠKA: Uklonjena zastarela pid datoteka" izlaz 1 fi # # Odlično. Neka pppd popravi vlastitu grešku. echo "PPP veza do $DEVICE prekinuta." izlaz 0 fi # # ppp proces ne radi za ppp0 echo "GREŠKA: PPP veza nije aktivna na $DEVICE" izlaz 1

15.3 Uređivanje skripti za pokretanje PPP-a

Pošto nove skripte dolaze u dva dijela, uređivat ćemo ih redom.

ppp-on skripta

Morat ćete urediti skriptu kako biste umetnuli VAŠE korisničko ime na svog ISP-a, VAŠU lozinku kod svog ISP-a, svoj ISP broj telefona.

Svaki od redova kao što je TELEPHONE= su zapravo postavljene ljuske varijable koje sadrže informacije desno od = (isključujući komentare, naravno). Uredite svaki od ovih redova tako da odgovara vašem ISP-u i vezi.

Takođe, pošto postavljate IP adresu (ako vam je potrebna) u /etc/ppp/options fajlu, UKLONITE red koji kaže

$LOCAL_IP:$REMOTE_IP \

Također, uvjerite se u to shell varijabla DIALER_SCRIPT ukazuje na punu putanju i ime skripte za biranje brojeva koju ćete zapravo koristiti. Dakle, ako ste je premjestili ili preimenovali skriptu, provjerite jeste li ispravno uredili ovaj red u ppp-on skripti!

ppp-on-dialer skripta

Ovo je druga skripta koja zapravo podiže našu ppp vezu.

Imajte na umu: chat skripta je obično skripta u jednom redu. Obrnute kose crte se koriste za razmak redova preko više fizičkih linija (radi čitljivosti) i izbjegavaju da budu dio samog skripta.

Međutim, veoma je korisno ovo detaljno pogledati kako bismo shvatili šta se zapravo (navodno) dešava!

15.4 Šta znači skripta za ćaskanje...

Chat skripta - niz parova očekivani nizposlani niz. Posebno imajte na umu da UVIJEK nešto čekamo prije nego što nešto pošaljemo.

Ako moramo nešto poslati BEZ prethodnog primanja bilo čega, moramo koristiti prazan string za čekanje (označen sa "") i isto tako za čekanje nečega bez slanja bilo čega! Također, ako se string sastoji od više riječi (na primjer, NO CARRIER), morate staviti navodnike oko niza tako da će ga chat tretirati kao jednu cjelinu.

Linija za ćaskanje u našem šablonu:

Exec /usr/sbin/chat -v

Kada pozivate chat, opcija -v govori chatu da kopira SVE I/O u sistemski dnevnik (obično /var/log/messages). Kada budete sigurni da skripta za ćaskanje radi pouzdano, uredite ovaj red kako biste uklonili -v kako biste izbjegli pohranjivanje nepotrebnih informacija u vaš sistemski dnevnik

Ovo postavlja pauzu za prijem očekivanog unosa na 3 sekunde. Ovu vrijednost možete povećati na 5 ili 10 sekundi ako koristite spori modem!

PREKINI "\nZAUZET\r"

Ako se primi niz BUSY, operacija se nenormalno prekida.

PREKINI "\nNEMA ODGOVORA\r"

Ako se primi niz NO ANSWER, operacija se nenormalno prekida.

PREKINI "\nZVONI\r\n\r\nZVONI\r"

Ako (ponovimo) se primi niz RINGING, tada se operacija nenormalno prekida.

To je zato što je neko na vašoj telefonskoj liniji!

Ne očekujemo ništa od modema, a mi ćemo mu poslati liniju

OK-+++\c-OK ATH0

Ovo je malo složenije jer koristi neke od mogućnosti za oporavak od grešaka u chatu.

Ono što se kaže je... Čekamo uredu ako nije primljen (jer modem nije u komandnom modu), onda pošaljite +++ (standardna linija za Hayes-kompatibilne modeme, koja vraća modem na komandni režim) i sačekajte uredu.

Zatim šaljemo ATH0 (linija za prekid modemske veze). Ovo omogućava vašoj skripti da se nosi sa vašim modemom koji visi tokom poziva!

Postavimo vremensku pauzu od 30 sekundi za preostale komande skripte. Ako imate problema s lomljenjem skripte za chat zbog pauza, povećajte ovu vrijednost na 45 sekundi ili više

OK ATDT$TELEFON

Cekamo uredu(odgovor modema na komandu ATH0) i biramo broj koji želimo da pozovemo

Čekamo liniju CONNECT (koju naš modem šalje kada se javi udaljeni modem) i ne šaljemo ništa kao odgovor

Ogin:--pogon: $ACCOUNT

Opet, ovdje postavljamo neke ispravke grešaka. Čekamo prompt za prijavu (...ogin:), ali ako ga ne primimo nakon pauze, šaljemo povratnu poruku i onda ponovo tražimo prompt za prijavu. Kada se primi hint, šaljemo korisničko ime (pohranjeno u shell varijabli $ACCOUNT).

Lozinka: $PASSWORD

Čekamo zahtjev za lozinkom i šaljemo našu lozinku (slično pohranjenu u shell varijablu).

Ova skripta za ćaskanje ima razumnu mogućnost ispravljanja grešaka. chat ima značajno velika količina mogućnosti nego što je ovdje prikazano. Za detaljne informacije konsultujte man chat (man 8 chat).

Pokretanje PPP-a na strani servera veze

Dok je skripta ppp-on-dialer odlična za servere koji automatski pokreću pppd na strani servera čim se prijavite, neki serveri zahtijevaju da eksplicitno naredite PPP-u da se pokrene na serveru.

Ako morate izdati naredbu za pokretanje PPP-a na serveru, morate urediti skriptu ppp-on-dialer.

NA KRAJ skripte (nakon reda lozinke), dodajte dodatni par stringova očekivanja i slanja koji traži vaš upit za prijavu (razlikovanje znakova koji imaju posebno značenje u Bourne ljusci: kao što su $ i [ ili ] (otvoreni i zatvoreni uglaste zagrade).

Jednom kada program za ćaskanje pronađe komandnu liniju ljuske, trebao bi izdati naredbu ppp start koju zahtijeva PPP server vašeg ISP-a.

U mom slučaju, moj PPP server koristi standardni bash Linux prompt

i traži od mene da kucam

da pokrenete PPP na serveru.

Ovdje bi bilo dobro uzeti u obzir neke greške, pa na primjer u mom slučaju koristim

Hartr--hartr ppp

To znači da ako ne primimo nagoveštaj unutar date pauze, šaljemo povratnu poruku i ponovo tražimo nagoveštaj.

Nakon što primimo hint, šaljemo liniju ppp.

Ne zaboravite dodati \ na kraj prethodnog reda kako bi chat mislio da je cijela skripta za chat jedan red!

Nažalost, na nekim serverima se skup savjeta često mijenja!

Možda ćete se morati nekoliko puta prijaviti koristeći minicom da biste razumjeli šta se dešava i pronašli stabilnu očekivano linija.

15.5 Chat skripta za PAP/CHAP vezu

Ako vaš ISP koristi PAP/CHAP onda je vaša chat skripta mnogo jednostavnija.

Cijela vaša skripta za ćaskanje bi trebala učiniti ovo: nazovite broj telefona, pričekajte vezu, a zatim pustite pppd da upravlja prijavom!

#!/bin/sh # # Ovo je drugi dio ppp-on skripte. Izvršit će protokol veze # za željenu vezu. # exec /usr/sbin/chat -v \ TIMEOUT 3 \ PREKINI "\nZAUZET\r" \ PREKINI "\nNEMA ODGOVORA\r" \ PREKINI "\nZVONI\r\n\r\nZVONI\r" \ "" \ rAT \ "OK-+++\c-OK" ATH0 \ TIMEOUT 30 \ OK ATDT$TELEFON \ CONNECT "" \

15.6 Otklanjanje grešaka u pppd-u i opciji datoteke option_file

Kao što smo već vidjeli, možete omogućiti informacije za otklanjanje grešaka sa -d opcijom za pppd. Opcija debug je ekvivalentna njoj.

Pošto uspostavljamo novu vezu sa novom skriptom, sada proverite opciju za otklanjanje grešaka.

Ako nemate dovoljno prostora na disku, pppd logovi mogu brzo povećati vašu syslog datoteku i uzrokovati vam problem.

Kada budete zadovoljni da sve radi kako treba, možete ukloniti ovu opciju.

Ako ste svom ppp fajlu opcija nazvali nešto drugačije od /etc/ppp/options, ili /etc/ppp/options.ttySx, navedite ime datoteke opcijom datoteke u pppd, na primjer

Exec /usr/sbin/pppd file options.myserver /dev/ttyS0 38400 \

Prije svega, hajde da shvatimo šta je to script i zašto je to potrebno.

Skripta prevedeno sa engleskog - scenario. Svi gledamo filmove, mnogi od nas gledaju predstave. Da bi kreirali film/predstavu, scenaristi za njih pišu scenarije, na osnovu kojih glumci izvode svoje uloge na sceni, scenu po scenu, od koje je film/predstava napravljena. Posao izrade scenarija je prilično mukotrpan, gdje treba uzeti u obzir sve do najsitnijeg detalja, kako bi umjetnici na kraju ispunili ono što je scenarista naumio, a gledalac mogao vidjeti kompletan rad.

Slično, skripte se pišu da izvrše listu zadataka koje korisnik sastavlja (kod) kako bi ih lakše i brže izvršili na operativnom sistemu. Za pisanje jednostavnih skripti uopće nije potrebno imati obrazovanje programera.

Prvo, napravimo najjednostavniji script-Shell da ažurirate sistem.

Sve radnje ću izvršiti sa sistemom Ubuntu, ali su primjenjivi i na druge sisteme Linux, izvedeno iz Ubuntu. Za ovo nam je potrebno: Uređivač teksta da ga ispunite potrebnim zadacima za kreiranje skripte (koda) i Terminal- da izvršite kreiranu skriptu. Ovi alati su instalirani u bilo kojoj distribuciji Linux default.

Dakle, otvorite uređivač teksta Gedit i u njega unesite prve tražene znakove shebang.
shebang u programiranju, ovo je niz od dva znaka: hash i znak uzvika ( #! ) na početku datoteke skripte. I dodajte ovim znakovima bez razmaka /bin/sh- interpreter u kojem će se skripta izvršavati. /bin/sh- Ovo je obično Bourne shell ili kompatibilan interpreter komandne linije koji prolazi "put/do/skripta" kao prvi parametar.
Prva obavezna linija skripte će izgledati ovako:

# Moja prva skripta za ažuriranje Ubuntua

Heš znak (#) na samom početku reda jasno stavlja do znanja interpretatoru/terminalu da ovaj red ne treba čitati i izvršavati. Red je potreban u kodu ove skripte kako bi kreator skripte znao šta će uraditi u ovom segmentu/sceni u kodu, kako se ne bi zbunili u budućnosti kada takvih redova bude mnogo. Takve linije sa heš znakom nazivaju se - prokomentarisao .

sudo apt update
sudo apt nadogradnja -y

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

To je sve. Vaša prva skripta je kreirana. Trebalo bi da dobijete nešto poput slike:


Ostaje samo da sačuvate kreiranu datoteku/skriptu i date je Ime sa obaveznim produžetkom na kraju - .sh. Produžetak .sh dodijeljen izvršnoj datoteci.
Dao sam mu Ime - update.sh, ušteda u Početna fascikla korisnik:


Da bi kreirana datoteka/skripta bila izvršna, mora mu se dati dozvola za to. Postoje dva načina da to uradite.

1. Pokrenite sljedeću naredbu u terminalu:

sudo chmod +x update.sh

2. Ili otvorite upravitelj datoteka Početna fascikla(gde ste sačuvali kreiranu skriptu), kliknite desnim tasterom miša na datoteku, u kontekstualnom meniju - Svojstva - Prava i aktiviraj stavku - Performanse: Dozvolite da se datoteka izvršava kao program:


Da biste izvršili kreiranu skriptu, potrebno je da otvorite terminal (kao što sam napisao na samom početku članka da je terminal neophodan atribut/alat za izvršavanje skripte), unesite sh, odvojeno razmakom ime skripte - update.sh i pritisnite tipku Enter:


Ili u terminal koji ulazimo sh i prevucite kreiranu datoteku sa skriptom iz upravitelja datoteka (takođe odvojeno razmakom):


Nakon što se nakon naredbe prikaže putanja datoteke sh i razmak, samo pritisnite tipku Enter(Enter) da izvršite ažuriranje sistema:


Sada u svakom trenutku možete ažurirati sistem koristeći vlastitu skriptu.

Da, neko bi mogao da tvrdi da ažuriranje sistema nije teško izvršiti izvršavanjem ove dve komande u terminalu, zašto se naduvavati i kreirati neke skripte? Tako je. Ali ovo je primjer kreiranja jednostavnog scenarija koji pokazuje da "nisu bogovi ti koji spaljuju lonce" 😃.

Nakon što ste naučili da pišete i koristite jednostavne skripte, možete kreirati skriptu za podešavanje sistema, tako da ako se sistem ponovo instalira, možete koristiti kreiranu skriptu bez potrebe da svaki put tražite sajtove sa sličnim postavkama na Internetu.

Mnogi od vas najvjerovatnije koriste stranice za postavljanje sistema, poput onih koje objavljujem nakon sljedećeg izdanja. Ubuntu - Ubuntu nakon instalacije ili slične stranice. Otvorite jednu od ovih stranica: http://compizomania.blogspot.com/2016/04/ubuntu-1604.html, a zatim uređivač teksta da kreirate skriptu.
Na primjer, napravio sam sljedeće prazno.

U uređivaču teksta unesite prvi obavezni red:

# Postavljanje Ubuntua nakon instalacije
# Ažuriranje sistema

Slijede naredbe za ažuriranje sistema:

sudo apt update
sudo apt nadogradnja -y

Red opisa: Dodavanje spremišta:

# Dodavanje spremišta

I dodajte potrebna spremišta za dalju 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-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

Nakon što se dodaju potrebna spremišta (ponavljam, možda imate svoja spremišta, imam primjer), potrebno je ažurirati sistem:

Red opisa:

# Ažuriranje sistema nakon povezivanja spremišta

I naredba za izvršenje:

sudo apt update

Sada kada su spremišta dodana i sistem ažuriran, vrijeme je za instaliranje programa:

# Instaliranje programa

Da biste instalirali programe, samo jednom unesite naredbu sudo apt install a zatim kroz prostor u ovu liniju dodajte koliko god programa želite, glavna stvar je da su ispravno kompajlirani. Ako se program sastoji od više riječi, njegova komanda mora biti monolitna, tj. sve riječi u njemu moraju se unijeti kroz crticu, na primjer: alat za podešavanje jedinstva:

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

Instaliranje dodatnih kodeka

# Multimedija i kodeci

sudo apt install ubuntu-restricted-extras -y

Onemogućavanje grešaka sistema

# Onemogućite izvještavanje o padu sistema

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

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


Morate ga sačuvati (kliknite na dugme Sačuvaj) i dati Ime sa produžetkom .sh. Zvao sam ga Postavke\Ubuntu.sh(možete ga imenovati drugačije, ali svakako koristite ekstenziju .sh):


Učinimo kreiranu skriptu izvršnom:

sudo chmod +x Setup\Ubuntu.sh

Da biste izvršili kreiranu skriptu, uđite u terminal sh i naziv kreirane skripte odvojen razmakom, ili sh, razmaknicu i prevucite kreiranu datoteku u terminal, kao što je ranije objašnjeno u najjednostavnijoj skripti i pritisnite tipku Enter, da to izvrši.

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

Nakon što se skripta izvrši, sačuvajte je za budućnost, za moguću ponovnu instalaciju sistema i rekonfiguraciju, najbolje na zasebnoj particiji hard diska u folderu /Dom. Ako ga nema, onda cloud usluga(pohrana podataka u oblaku) vrsta: DropBox, Cloud Mail.Ru, Mega.co itd., tako da sami možete koristiti skriptu u bilo koje vrijeme, ili pomoći prijateljima ili rođacima da postave sistem.

Shell skripta je niz naredbi koje možete koristiti više puta. Izvršenje ove sekvence se obično vrši unosom komandna linija ime skripte. Uz to, sa cron-om možete koristiti skripte za automatizaciju zadataka. Druga upotreba skripti je procedura pokretanja i zaustavljanja UNIX sistemi, kada init skripte definiraju operacije s demonima i uslugama.

Da kreirate shell skriptu, otvorite novu, praznu datoteku u uređivaču. Za ovo možete koristiti bilo koji uređivač teksta: vim, emacs, gedit, dtpad itd.; Bilo koja će odgovarati. Međutim, možete odabrati napredniji uređivač kao što je vim ili emacs, budući da se takvi uređivači mogu konfigurirati da prepoznaju shell i Bash sintaksu i mogu biti od dobre pomoći u izbjegavanju grešaka koje početnici često čine, kao što je zaboravljanje zatvaranja zagrada i korištenja tačaka i zareza.

Dial UNIX komande u novoj praznoj datoteci baš kao da ste ih uneli u komandnoj liniji. Kao što je objašnjeno u prethodnom poglavlju (pogledajte odjeljak "Izvođenje naredbe"), naredbe mogu biti funkcije ljuske, ugrađene komande, UNIX naredbe ili druge skripte.

Dajte svojoj skripti mnemoničko ime koje govori šta skripta radi. Uvjerite se da ime vaše skripte nije u sukobu s postojećim komandama. Da bi se izbjegla zabuna, imena skripti često završavaju ekstenzijom .sh. Međutim, mogu postojati i druge skripte sa istim imenom koje ste odabrali na vašem sistemu. Korišćenje komandi koji, gdje je i drugi, potražite informacije o postojećim programima i datotekama s ovim imenom:

Koji -a script_name gdje je script_name locirati script_name ( cca. : zamijenite script_name sa imenom vaše skripte).

Skripta script1.sh

U ovom primjeru koristimo naredbu echo, ugrađen u Bash, koji će obavijestiti korisnika šta treba učiniti prije nego što se dobije rezultat. Veoma je preporučljivo da korisnici budu informisani o tome šta skripta radi kako bi korisnici nisu bili nervozni ako im se činilo da scenario ne radi ništa. Vratit ćemo se na temu obavještavanja korisnika u poglavlju 8, "Pisanje interaktivne skripte."


Sl.2.1. Skripta script1.sh

Napišite isti scenario za sebe. Dobra ideja bi bila da kreirate ~/scripts direktorijum gde će se nalaziti vaše skripte. Dodajte ovaj direktorij sadržaju PATH varijabla:

Izvezi PATH="$PATH:~/scripts"

Ako tek počinjete s Bashom, koristite uređivač teksta koji koristi različite boje za različite konstrukcije ljuske. Isticanje sintakse je podržano u vim, gvim, (x)emacs, kwrite i mnoge druge uređivače, pogledajte dokumentaciju za vaš omiljeni uređivač.

Izvršavanje skripte

Da bi se skripta pokrenula, mora imati dozvole za pokretanje za odgovarajuće korisnike. Nakon što postavite dozvole, provjerite da li ste zaista postavili dozvole koje su vam potrebne. Kada se ovo uradi, skripta se može pokrenuti kao i svaka druga naredba:

Willy:~/scripts> chmod u+x script1.sh willy:~/scripts> ls -l script1.sh -rwxrw-r-- 1 willy willy 456 24. decembar 17:11 script1.sh willy:~> script1.sh Skripta počinje sada. Zdravo Willy! Sada ću vam donijeti listu povezanih korisnika: 15:38 do 18 dana, 5:37, 4 korisnika, prosjek opterećenja: 0,12, 0,22, 0,15 KORISNIČKI TTY IZ LOGIN@ IDLE JCPU PCPU ŠTA root tty2 - Sub 14:00 4:25m 0.24s 0.05s -bash willy:0 - Sub 2pm ? 0.00s ? - Willy pts/3 - Sub 2pm 3:33m 36.39s 36.39s BitchX Willy ir Willy pts/2 - Sub 2pm 3:33m 0.13s 0.06s /usr/bin/screen Sada postavljam dvije varijable. Ovo je niz : crna A ovo je broj: 9 Vraćam ti sada tvoj upit. willy:~/scripts> echo $COLOUR willy:~/scripts> echo $VALUE willy:~/scripts>

Ovo je najčešći način izvršavanja skripte. Poželjno je pokrenuti ovakve skripte u podljusci. Varijable, funkcije i aliasi kreirani u ovoj podljusci poznati su samo u toj specifičnoj bash sesiji u toj podljusci. Kada se izađe iz ove ljuske i roditeljska ljuska preuzme kontrolu, sve postavke se brišu i sve promjene koje je skripta napravila u stanju te ljuske će biti zaboravljene.

Ako niste naveli skripte ili . (trenutni direktorij), možete aktivirati skriptu na sljedeći način:

./script_name.sh

Također je moguće pokrenuti skriptu unutar postojeće ljuske, ali to se obično radi samo ako želite posebne značajke, kao što je ako želite testirati da li skripta radi s drugom ljuskom, ili proizvesti trag u svrhu otklanjanja grešaka ( cca.- umjesto script_name, navedite ime vaše skripte):

Rbash ime_skripte.sh sh ime_skripte.sh bash -x ime_skripte.sh

Navedena komandna ljuska će biti pokrenuta kao podljuska vaše trenutne ljuske i izvršiće skriptu. Ovo se radi kada želite da se skripta pokrene sa određenim parametrima ili pod određenim uslovima koji nisu navedeni u samoj skripti.

Ako ne želite pokrenuti novu ljusku, ali želite pokrenuti skriptu u trenutnoj ljusci, koristite izvornu naredbu:

Izvor script_name.sh

U ovom slučaju, skripti nisu potrebna izvršna prava. Naredbe se izvode u kontekstu trenutne ljuske, tako da će sve promjene koje su napravljene u vašem okruženju ostati vidljive kada skripta završi izvršavanje:

Willy:~/scripts> izvorni script1.sh --izlaz izostavljen-- willy:~/scripts> echo $VALUE 9 willy:~/scripts>