Upravljanje ubuntu prek skripta v oknih. Izvedite skript, ko se Linux zažene ali zaustavi. # Večpredstavnost in kodeki

Za pisanje preprostega bash skripta, moramo izvesti naslednje preproste korake:

Kako vse deluje:

Prva vrstica našega skripta #!/bin/bash je bistvena za uspešno izvajanje našega skripta.

druga vrstica mkdir testdir ustvari imenik testdir

tretja vrstica cd testdir vam omogoča, da greste v ustvarjeni imenik testdir

ekipa dotik v naslednji vrstici pritisnite file1 file2 file3 ustvari tri datoteke

in zadnji ukaz v vrstici našega skripta, ls -al, omogoča prikaz vsebine trenutnega imenika, v katerem so se zaradi prejšnje vrstice pojavile tri prazne datoteke.

Kot vidimo, v našem preprosta skripta vsi ukazi se začnejo z nova vrstica. Vsaka vrstica med izvajanjem skripta zaporedno opravlja svoje delo in izvaja določena dejanja.

Če dnevno izvajate verigo poljubnih enakih ukazov (s konstantnimi parametri) v Linuxu, potem je morda smiselno, da napišete iste preprost bash skript, ki vam bo omogočila prihranek časa in avtomatizacijo dela.

Najprej ugotovimo, kaj je to scenarij in zakaj je to potrebno.

Skripta prevedeno iz angleščine - scenarij. Vsi gledamo filme, mnogi od nas gledajo predstave. Za ustvarjanje filma/igre scenaristi zanje napišejo scenarije, na podlagi katerih igralci na odru prizor za prizorom odigrajo svoje vloge, iz katerih je sestavljen film/predstava. Delo ustvarjanja scenarija je precej mukotrpno, kjer je treba upoštevati vse do najmanjših podrobnosti, da lahko umetniki na koncu izpolnijo tisto, kar je scenarist zamislil, gledalec pa vidi celotno delo.

Podobno so skripti napisani za izvajanje seznama nalog, ki jih uporabnik sestavi (koda), da jih je lažje in hitreje dokončati v operacijski sistem. Za pisanje enostavnih skriptov sploh ni potrebno imeti programerske izobrazbe.

Najprej ustvarimo najpreprostejšega skriptna lupina za posodobitev sistema.

Izvedel bom vsa dejanja s sistemom Ubuntu, vendar so uporabni tudi za druge sisteme Linux, izpeljano iz Ubuntu. Za to potrebujemo: Urejevalnik besedil da ga napolnite s potrebnimi nalogami za ustvarjanje skripta (kode) in Terminal- za izvedbo ustvarjenega skripta. Ta orodja so nameščena v kateri koli distribuciji Linux privzeto.

Torej, odprimo urejevalnik besedil Gedit in vanj vnesite prve zahtevane klicane znake shebang.
shebang v programiranju je zaporedje dveh simbolov: hash in klicaj (#! ) na začetku skriptne datoteke. In dodajte tem znakom brez presledkov /bin/sh- tolmač, kjer se bo skript izvajal. /bin/sh- to je običajno Bournova školjka ali združljiv tolmač ukazne vrstice, ki prehaja "pot/do/skripta" kot prvi parameter.
Prva zahtevana vrstica skripta bo videti takole:

# Moj prvi skript za posodobitev Ubuntuja

Znak (#) na samem začetku vrstice tolmaču/terminalu pojasni, da te vrstice ni treba prebrati in izvesti. Vrstica je potrebna v kodi tega scenarija, da ustvarjalec scenarija ve, kaj bo naredil v tem segmentu/prizoru v kodi, da ne bi bil v prihodnosti zmeden, ko bo takih vrstic veliko. Takšne vrstice z znakom hash se imenujejo - komentiral .

posodobitev sudo apt
nadgradnja sudo apt -y

-y na koncu drugega ukaza pojasni tolmaču/terminalu, da mora biti to dejanje/ukaz izvedeno samodejno, brez dodatne potrditve uporabnika s pritiskom na tipko Vnesite. l- okrajšava za angleščino ja, tj. ja.

To je vse. Vaš prvi skript je bil ustvarjen. Moral bi dobiti nekaj podobnega sliki:


Vse kar ostane je, da ustvarjeno datoteko/skripto shranimo in jo damo Ime z obveznim podaljškom na koncu - .sh. Razširitev .sh dodeljeni izvedljivi datoteki.
Dal sem mu Ime - posodobitev.sh, shranjevanje v Domača mapa uporabnik:


Da bi bila ustvarjena datoteka/skript izvedljiva, mora imeti za to dovoljenje. To lahko storite na dva načina.

1. V terminalu zaženite naslednji ukaz:

sudo chmod +x update.sh

2. Ali pa odprite upravitelja datotek Domača mapa(kjer ste shranili ustvarjeni skript), z desno miškino tipko kliknite datoteko, v kontekstnem meniju - Lastnosti – pravice in aktivirajte element - Izvedba: Dovolite, da se datoteka izvaja kot program:


Za izvedbo ustvarjenega skripta morate odpreti terminal (kot sem že na začetku članka napisal, da je terminal nujen atribut/orodje za izvajanje skripta), vnesti sh, ločeno s presledkom ime skripta - posodobitev.sh in pritisnite tipko Vnesite:


Ali v terminalu vstopimo sh in povlecite iz upravitelj datotek ustvarjena datoteka s skriptom (tudi ločena s presledkom):


Enkrat se za ukazom prikaže pot datoteke sh in presledek, samo pritisnite tipko Vnesite(Enter), da izvedete posodobitev sistema:


Zdaj lahko kadar koli posodobite sistem z lastnim skriptom.

Da, nekdo bi lahko trdil, da posodobitev sistema ni težko izvesti z izvajanjem teh dveh ukazov v terminalu, zakaj bi se napihnili in ustvarili nekaj skriptov? Tako je. Toda to je primer ustvarjanja preprostega scenarija, ki pokaže, da "niso bogovi tisti, ki sežigajo lonce"

Čeprav se lahko še naprej registrirate ročno, kot je prikazano zgoraj, je veliko bolje, da nastavite nekaj skriptov, ki bodo to storili samodejno namesto vas.

Niz skriptov avtomatizira postopek prijave in zažene PPP, tako da je vse, kar morate storiti (kot root ali kot član skupine PPP), izdati en sam ukaz za zagon vaše povezave.

15.1 Povezovalni skripti za avtentikacijo z uporabniškim imenom/geslom

Če vaš ISP ne zahteva PAP/CHAP, so to skripte, ki jih potrebujete!

Če je paket ppp nameščen pravilno, bi morali imeti dve vzorčni datoteki. Za PPP 2.1.2 so v /usr/sbin, za PPP 2.2 pa v /etc/ppp/scripts. Imenujejo se

za PPP-2. 1.2

in za PPP-2. 2

ppp-off ppp-on ppp-on-dialer

Zdaj, če uporabljate PPP 2.1.2, vas močno pozivam, da odstranite vzorčne datoteke. Obstajajo možne težave z njimi (in ne recite mi, da delujejo odlično), uporabljal sem jih že zelo dolgo (in jih celo priporočil v prvi različici tega KAKOTA)!

Za uporabnika PPP 2.1.2 na voljo NAJBOLJŠA verzija predloga vzeta iz distribucije PPP 2.2. Predlagam, da kopirate in uporabite te skripte namesto stare skripte PPP-2.1.2.

15.2 ppp-on skript

To je prvi od PARA skriptov, ki dejansko zaženejo povezavo.

#!/bin/sh # # Skript za začetek povezave PPP. To je prvi del nekaj scenarijev. # To niso tajni skripti, saj so kode vidne z ukazom ps. # Vendar je to primer. # # To so parametri. Po potrebi jih spremenite. TELEFON=555-1212 # Telefonska številka povezave ACCOUNT=george # Uporabniško ime za prijavo ("George Burns") PASSWORD=gracie # Geslo za ta račun (in "Gracie Allen") LOCAL_IP=0.0.0.0 # Lokalni naslov IP, če je znan. Dynamic = 0.0.0.0 REMOTE_IP=0.0.0.0 # Oddaljeni naslov IP, če želite. Običajno 0.0.0.0 NETMASK=255.255.255.0 # Ustrezna omrežna maska, če je potrebna # # Izvozi jih tako, da bodo na voljo v izvozu "ppp-on-dialer" GESLO ZA TELEFONSKI RAČUN # # To je lokacija skripta, ki kliče telefon in se registrira s sistemom #. Uporabite absolutno ime datoteke, saj možnost povezovanja # ne uporablja spremenljivke $PATH. (Če to storite, bo "root" račun # varnostna luknja, zato ne sprašujte.) # DIALER_SCRIPT=/etc/ppp/ppp-on-dialer # # Začetek povezave # # exec /usr/sbin /pppd debug / dev/ttySx 38400 \ $LOCAL_IP:$REMOTE_IP \ povezava $DIALER_SCRIPT

To je skript ppp-on-dialer:

#!/bin/sh # # To je drugi del skripte ppp-on. Vzpostavi # želeno povezavo. # /usr/sbin/chat -v \ TIMEOUT 3 \ ABORT "\nZASEDENO\r" \ ABORT "\nNI ODGOVORA\r" \ ABORT "\nZVONJE\r\n\r\nZVONJENJE\r" \ "" \rAT \ "OK-+++\c-OK" ATH0 \ TIMEOUT 30 \ OK ATDT$TELEPHONE \ CONNECT "" \ prijava:--ogin: $ACCOUNT \ geslo: $GESLO

Za PPP-2.2 je skript ppp-off nekaj takega:

#!/bin/sh ############################################### ## ############################# # # Določite napravo, ki bo prekinjena. # if [ "$1" = "" ]; nato DEVICE=ppp0 else DEVICE=$1 fi ########################################## ############################# # # Če je tam datoteka pid ppp0, potem program deluje. Ustavi jo. if [ -r /var/run/$DEVICE.pid ]; nato ubij -INT `cat /var/run/$DEVICE.pid` # # Če uničenje ne uspe, se pod tem pid-om ne izvaja noben proces. # To lahko pomeni tudi, da obstaja tuja datoteka zaklepanja. # Morda ga boste želeli odstraniti. če [! "$?" = "0"]; then rm -f /var/run/$DEVICE.pid echo "NAPAKA: Odstranjena zastarela datoteka pid" exit 1 fi # # Odlično. Naj pppd popravi svojo napako. echo "PPP povezava z $DEVICE prekinjena." izhod 0 fi # # proces ppp se ne izvaja za ppp0 echo "NAPAKA: povezava PPP ni aktivna na $DEVICE" izhod 1

15.3 Urejanje zagonskih skriptov PPP

Ker so nove skripte v dveh delih, jih bomo urejali po vrsti.

ppp-on skript

Urediti boste morali skript, da boste vstavili VAŠE uporabniško ime pri vašem ponudniku internetnih storitev, VAŠE geslo pri vašem ponudniku internetnih storitev, telefonsko številko vašega ponudnika internetnih storitev.

Vsaka od vrstic, kot je TELEPHONE=, je dejansko nastavljena spremenljivka lupine, ki vsebuje informacije desno od = (seveda brez komentarjev). Uredite vsako od teh vrstic, da bo ustrezala vašemu ponudniku internetnih storitev in povezavi.

Poleg tega, ker nastavljate naslov IP (če ga potrebujete) v datoteki /etc/ppp/options, ODSTRANITE vrstico, ki pravi

$LOCAL_IP:$REMOTE_IP \

Prepričajte se tudi o tem spremenljivka lupine DIALER_SCRIPT kaže na celotno pot in ime skripta za klicanje, ki ga boste dejansko uporabili. Torej, če ste ga premaknili ali preimenovali skript, se prepričajte, da pravilno uredite to vrstico v skriptu ppp-on!

skript ppp-on-dialer

To je drugi skript, ki dejansko dvigne našo ppp povezavo.

Upoštevajte: skript za klepet je običajno enovrstični skript. Poševnice nazaj se uporabljajo za razmaknitev vrstic med več fizičnimi vrsticami (zaradi človekove berljivosti) in preprečijo, da bi bile del samega skripta.

Je pa zelo koristno to podrobno pogledati, da razumemo, kaj se dejansko (domnevno) dogaja!

15.4 Kaj pomeni skript za klepet ...

Skripta za klepet - zaporedje parov pričakovani nizposlani niz. Še posebej upoštevajte, da VEDNO čakamo na nekaj, preden karkoli pošljemo.

Če moramo nekaj poslati, BREZ da bi prej karkoli prejeli, moramo uporabiti prazen čakalni niz (označen z "") in podobno za čakanje na nekaj, ne da bi karkoli poslali! Poleg tega, če je niz sestavljen iz več besed (na primer NO CARRIER), morate niz postaviti v narekovaje, da ga bo chat obravnaval kot eno celoto.

Vrstica za klepet v naši predlogi:

Exec /usr/sbin/chat -v

Ko kličete klepet, možnost -v pove klepetu, naj kopira VSE V/I v sistemski dnevnik (običajno /var/log/messages). Ko ste prepričani, da skript za klepet deluje zanesljivo, uredite to vrstico tako, da odstranite -v, da se izognete shranjevanju nepotrebnih informacij v vašem sistemskem dnevniku

To nastavi premor za sprejem pričakovanega vnosa na 3 sekunde. To vrednost lahko povečate na 5 ali 10 sekund, če uporabljate počasen modem!

PREKINITE "\nZASEDENO\r"

Če je prejet niz BUSY, se operacija nenormalno prekine.

PREKINI "\nNI ODGOVORA\r"

Če je prejet niz NO ANSWER, se operacija nenormalno prekine.

PREKINI "\nZVONJE\r\n\r\nZVONJE\r"

Če (ponovimo) prejme niz RINGING, se operacija nenormalno prekine.

To je zato, ker je nekdo na vaši telefonski liniji!

Od modema ne pričakujemo ničesar in mu bomo poslali linijo

OK-+++\c-OK ATH0

To je nekoliko bolj zapleteno, ker uporablja nekatere zmožnosti klepeta za obnovitev napak.

Kar se pravi... Čakamo v reduče ni prejet (ker modem ni v ukaznem načinu), pošljite +++ (standardna vrstica za Hayes-kompatibilne modeme, ki vrne modem v ukazni način) in počakajte v redu.

Nato pošljemo ATH0 (vrstica za prekinitev modemske povezave). To omogoča vašemu skriptu, da se spopade z prekinitvijo modema med klicem!

Nastavimo časovni premor 30 sekund za preostale ukaze skripta. Če imate težave s skriptom klepeta zaradi premorov, povečajte to vrednost na 45 sekund ali več

OK ATDT$TELEFON

Čakamo v redu(odziv modema na ukaz ATH0) in pokličemo številko, ki jo želimo poklicati

Čakamo na vrstico CONNECT (ki jo naš modem pošlje, ko se oddaljeni modem oglasi) in ne pošljemo ničesar kot odgovor

Vhod:--vhod: $ACCOUNT

Ponovno dodajamo nekaj popravkov napak. Počakamo na poziv za prijavo (...ogin:), če pa ga po premoru ne prejmemo, pošljemo povratno vrstico in nato znova poiščemo poziv za prijavo. Ko je namig prejet, pošljemo uporabniško ime (shranjeno v lupinski spremenljivki $ACCOUNT).

Geslo: $PASSWORD

Počakamo na zahtevo za geslo in pošljemo svoje geslo (podobno shranjeno v spremenljivki lupine).

Ta skript za klepet ima razumno možnost popravljanja napak. klepet ima znatno velika količina možnosti, kot so prikazane tukaj. Za podrobne informacije posvetujte se s klepetom človeka (klepeta človek 8).

Izvajanje PPP na strani strežnika povezave

Medtem ko je skript ppp-on-dialer odličen za strežnike, ki samodejno zaženejo pppd na strani strežnika takoj, ko se prijavite, nekateri strežniki zahtevajo, da izrecno ukažete PPP za zagon na strežniku.

Če morate izdati ukaz za zagon PPP na strežniku, morate urediti skript ppp-on-dialer.

NA KONCU skripta (za vrstico z geslom) dodajte dodaten par nizov pričakovano-pošlji, ki išče vaš poziv za prijavo (razločevalni znaki, ki imajo poseben pomen v Bournovi lupini: na primer $ in [ ali ] (odprto in zaprto) oglati oklepaji).

Ko program za klepet najde ukazno vrstico ukazne lupine, mora izdati ukaz ppp start, ki ga zahteva strežnik PPP vašega ponudnika internetnih storitev.

V mojem primeru moj strežnik PPP uporablja standardni poziv bash Linux

in me prosi, naj vtipkam

za zagon PPP na strežniku.

Tukaj bi bilo dobro upoštevati nekatere napake, zato na primer v mojem primeru uporabljam

Hartr--hartr ppp

To pomeni, da če v danem premoru ne prejmemo namiga, pošljemo vrnitev v začetni vrstico in znova poiščemo namig.

Ko je namig prejet, pošljemo vrstico ppp.

Ne pozabite dodati \ na konec prejšnje vrstice, da bo chat mislil, da je celoten skript klepeta ena vrstica!

Na žalost se na nekaterih strežnikih nabor namigov pogosto spreminja!

Morda se boste morali nekajkrat prijaviti z minicomom, da boste razumeli, kaj se dogaja, in našli hlev pričakovano linija.

15.5 Klepetalni skript za povezavo PAP/CHAP

Če vaš ponudnik internetnih storitev uporablja PAP/CHAP, je vaš skript za klepet veliko preprostejši.

Vaš celoten skript za klepet bi moral narediti to: pokličite telefonsko številko, počakajte na povezavo in nato pustite pppd-ju, da poskrbi za prijavo!

#!/bin/sh # # To je 2. del skripte ppp-on. Za želeno povezavo bo izvedel povezavo # protokol. # exec /usr/sbin/chat -v \ TIMEOUT 3 \ ABORT "\nZASEDENO\r" \ ABORT "\nNI ODGOVORA\r" \ ABORT "\nZVONJE\r\n\r\nZVONJEnje\r" \ "" \ rAT \ "OK-+++\c-OK" ATH0 \ TIMEOUT 30 \ OK ATDT$TELEFON \ POVEŽI "" \

15.6 Razhroščevanje pppd in možnosti datoteke option_file

Kot smo že videli, lahko omogočite informacije o odpravljanju napak z možnostjo -d za pppd. Možnost odpravljanja napak je enakovredna njej.

Ker vzpostavljamo novo povezavo z novim skriptom, zdaj preverite možnost za odpravljanje napak.

Če vam primanjkuje prostora na disku, lahko dnevniki pppd hitro povečajo vašo datoteko syslog in vam povzročijo težave.

Ko ste zadovoljni, da vse deluje pravilno, lahko to možnost odstranite.

Če ste datoteko z možnostmi ppp poimenovali drugače kot /etc/ppp/options ali /etc/ppp/options.ttySx, določite ime datoteke z možnostjo datoteke v pppd, na primer

Exec /usr/sbin/pppd datoteke za odpravljanje napak options.myserver /dev/ttyS0 38400 \

Najprej ugotovimo, kaj je to scenarij in zakaj je to potrebno.

Skripta prevedeno iz angleščine - scenarij. Vsi gledamo filme, mnogi od nas gledajo predstave. Za ustvarjanje filma/igre scenaristi zanje napišejo scenarije, na podlagi katerih igralci na odru prizor za prizorom odigrajo svoje vloge, iz katerih je sestavljen film/predstava. Delo ustvarjanja scenarija je precej mukotrpno, kjer je treba upoštevati vse do najmanjših podrobnosti, da lahko umetniki na koncu izpolnijo tisto, kar je scenarist zamislil, gledalec pa vidi celotno delo.

Podobno so skripti napisani za izvajanje seznama nalog, ki jih uporabnik sestavi (koda), da jih je lažje in hitreje dokončati v operacijskem sistemu. Za pisanje enostavnih skriptov sploh ni potrebno imeti programerske izobrazbe.

Najprej ustvarimo najpreprostejšega skriptna lupina za posodobitev sistema.

Izvedel bom vsa dejanja s sistemom Ubuntu, vendar so uporabni tudi za druge sisteme Linux, izpeljano iz Ubuntu. Za to potrebujemo: Urejevalnik besedil da ga napolnite s potrebnimi nalogami za ustvarjanje skripta (kode) in Terminal- za izvedbo ustvarjenega skripta. Ta orodja so nameščena v kateri koli distribuciji Linux privzeto.

Torej odprite urejevalnik besedil Gedit in vanj vnesite prve zahtevane klicane znake shebang.
shebang v programiranju je to zaporedje dveh znakov: ključa in klicaja ( #! ) na začetku skriptne datoteke. In dodajte tem znakom brez presledkov /bin/sh- tolmač, kjer se bo skript izvajal. /bin/sh- to je običajno Bournova školjka ali združljiv tolmač ukazne vrstice, ki prehaja "pot/do/skripta" kot prvi parameter.
Prva zahtevana vrstica skripta bo videti takole:

# Moj prvi skript za posodobitev Ubuntuja

Znak (#) na samem začetku vrstice tolmaču/terminalu pojasni, da te vrstice ni treba prebrati in izvesti. Vrstica je potrebna v kodi tega scenarija, da ustvarjalec scenarija ve, kaj bo naredil v tem segmentu/prizoru v kodi, da ne bi bil v prihodnosti zmeden, ko bo takih vrstic veliko. Takšne vrstice z znakom hash se imenujejo - komentiral .

posodobitev sudo apt
nadgradnja sudo apt -y

-y na koncu drugega ukaza pojasni tolmaču/terminalu, da mora biti to dejanje/ukaz izvedeno samodejno, brez dodatne potrditve uporabnika s pritiskom na tipko Vnesite. l- okrajšava za angleščino ja, tj. ja.

To je vse. Vaš prvi skript je bil ustvarjen. Moral bi dobiti nekaj podobnega sliki:


Vse kar ostane je, da ustvarjeno datoteko/skripto shranimo in jo damo Ime z obveznim podaljškom na koncu - .sh. Razširitev .sh dodeljeni izvedljivi datoteki.
Dal sem mu Ime - posodobitev.sh, shranjevanje v Domača mapa uporabnik:


Da bi bila ustvarjena datoteka/skript izvedljiva, mora imeti za to dovoljenje. To lahko storite na dva načina.

1. V terminalu zaženite naslednji ukaz:

sudo chmod +x update.sh

2. Ali pa odprite upravitelja datotek Domača mapa(kjer ste shranili ustvarjeni skript), z desno miškino tipko kliknite datoteko, v kontekstnem meniju - Lastnosti – pravice in aktivirajte element - Izvedba: Dovolite, da se datoteka izvaja kot program:


Za izvedbo ustvarjenega skripta morate odpreti terminal (kot sem napisal na samem začetku članka, da je terminal nujen atribut/orodje za izvajanje skripta), vnesti sh, ločeno s presledkom ime skripta - posodobitev.sh in pritisnite tipko Vnesite:


Ali v terminalu vstopimo sh in povlecite ustvarjeno datoteko s skriptom iz upravitelja datotek (prav tako ločeno s presledkom):


Enkrat se za ukazom prikaže pot datoteke sh in presledek, samo pritisnite tipko Vnesite(Enter), da izvedete posodobitev sistema:


Zdaj lahko kadar koli posodobite sistem z lastnim skriptom.

Da, nekdo bi lahko trdil, da posodobitev sistema ni težko izvesti z izvajanjem teh dveh ukazov v terminalu, zakaj bi se napihnili in ustvarili nekaj skriptov? Tako je. Toda to je primer ustvarjanja preprostega scenarija, ki pokaže, da "niso bogovi tisti, ki sežigajo lonce" 😃.

Ko se naučite pisati in uporabljati preproste skripte, lahko ustvarite skript za nastavitev sistema, tako da lahko ob ponovni namestitvi sistema uporabite ustvarjeni skript, ne da bi morali vsakič po internetu iskati strani s podobnimi nastavitvami.

Mnogi od vas najverjetneje uporabljate spletna mesta za nastavitev sistema, kot so tista, ki jih objavljam po naslednji izdaji. Ubuntu - Ubuntu po namestitvi ali podobna spletna mesta. Odprite eno od teh spletnih mest: http://compizomania.blogspot.com/2016/04/ubuntu-1604.html in nato urejevalnik besedila, da ustvarite skript.
Na primer, naredil sem naslednje prazno.

V urejevalnik besedila vnesite prvo zahtevano vrstico:

# Nastavitev Ubuntuja po namestitvi
# Posodobitev sistema

Sledijo ukazi za posodobitev sistema:

posodobitev sudo apt
nadgradnja sudo apt -y

Opisna vrstica: Dodajanje skladišč:

# Dodajanje skladišč

In dodajte potrebna skladišča za nadaljnjo namestitev programske opreme:

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

Ko so dodani potrebni repozitoriji (ponavljam, morda imate svoje repozitorije, imam primer), morate posodobiti sistem:

Opisna vrstica:

# Posodobitev sistema po povezovanju skladišč

In ukaz za izvedbo:

posodobitev sudo apt

Zdaj, ko so repozitoriji dodani in sistem posodobljen, je čas za namestitev programov:

# Namestitev programov

Če želite namestiti programe, samo enkrat vnesite ukaz namestitev sudo apt in nato skozi presledek noter ta vrstica dodajte poljubno število programov, glavno je, da so pravilno prevedeni. Če je program sestavljen iz več besed, mora biti njegov ukaz monoliten, tj. vse besede v njej morajo biti vnesene skozi pomišljaj, na primer: unity-tweak-tool:

sudo apt namestite moj-vremenski kazalnik telegram skype lm-senzorji hddtemp psensor gdebi systemback unity-tweak-tool ubuntu-cleaner gradio -y

Namestitev dodatnih kodekov

# Večpredstavnost in kodeki

sudo apt namestite ubuntu-restricted-extras -y

Onemogočanje sistemskih napak

# Onemogoči poročanje o zrušitvi sistema

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

No, to je verjetno vse. Ta ustvarjena skriptna datoteka bi morala izgledati takole:


Morate ga shraniti (kliknite gumb Shrani) in dajte Ime s podaljškom .sh. Poklical sem ga Nastavitve\Ubuntu.sh(lahko ga poimenujete drugače, vendar obvezno uporabite pripono .sh):


Naredimo ustvarjeni skript izvršljiv:

sudo chmod +x Setup\Ubuntu.sh

Za izvedbo ustvarjenega skripta vnesite v terminal sh in ime ustvarjene skripte ločeno s presledkom, oz sh, preslednico in povlecite ustvarjeno datoteko v terminal, kot je razloženo prej v najpreprostejšem skriptu, in pritisnite tipko Vnesite, da ga izvede.

Opomba. Poševnica nazaj v ukazu Nastavitve\Ubuntu.sh uide presledku v imenu terminalske datoteke med dvema ločenima besedama.

Ko je skript izveden, ga shranite za prihodnost, za morebitno ponovno namestitev sistema in ponovno konfiguracijo, najbolje na ločeni particiji trdega diska v mapi /domov. Če tega ni, potem storitev v oblaku Vrsta (shranjevanje podatkov v oblaku): DropBox, Cloud Mail.Ru, Mega.co itd., tako da lahko sami kadar koli uporabite skript ali pomagate prijateljem ali sorodnikom pri nastavitvi sistema.

Lupinski skript je zaporedje ukazov, ki jih lahko uporabljate večkrat. Izvedba tega zaporedja se običajno izvede z vnosom ukazna vrstica ime skripte. Poleg tega lahko s cronom uporabite skripte za avtomatizacijo opravil. Druga uporaba skriptov je postopek zagona in zaustavitve sistemi UNIX, ko zagonski skripti definirajo operacije z demoni in storitvami.

Če želite ustvariti lupinski skript, odprite novo, prazno datoteko v urejevalniku. Za to lahko uporabite kateri koli urejevalnik besedil: vim, emacs, gedit, dtpad itd.; Vsak bo zadostoval. Lahko pa izberete naprednejši urejevalnik kot npr vim oz emacs, saj je takšne urejevalnike mogoče konfigurirati za prepoznavanje lupine in sintakse Bash ter so lahko dobra pomoč pri izogibanju napakam, ki jih pogosto naredijo novinci, kot je pozabljanje zapreti oklepaje in uporaba podpičja.

Dial ukazi UNIX v novo prazno datoteko, tako kot če bi jih vnesli v ukazno vrstico. Kot je bilo razloženo v prejšnjem poglavju (glejte razdelek »Izvajanje ukaza«), so lahko ukazi lupinske funkcije, vgrajeni ukazi, ukazi UNIX ali drugi skripti.

Dajte svojemu skriptu mnemonično ime, ki pove, kaj skript počne. Prepričajte se, da ime vašega skripta ni v nasprotju z obstoječimi ukazi. Da bi se izognili zmedi, se imena skriptov pogosto končajo s pripono .sh. Vendar pa lahko v vašem sistemu obstajajo drugi skripti z istim imenom, ki ste ga izbrali. Uporaba ukazov ki, kje je in drugi, poiščite informacije o obstoječih programih in datotekah s tem imenom:

Kateri -a ime_skripta, kjer je ime_skripta poiščite ime_skripta ( pribl. : zamenjajte script_name z imenom vašega skripta).

Skript script1.sh

V tem primeru uporabljamo ukaz odmev, vgrajeno v Bash, ki bo uporabnika obvestilo, kaj mora storiti, preden bo dan izhod. Zelo priporočljivo je, da so uporabniki obveščeni o tem, kaj počne skript, tako da uporabniki niso bili nervozni, če se jim je zdelo, da scenarij ne dela ničesar. K temi obveščanja uporabnikov se bomo vrnili v 8. poglavju, "Pisanje interaktivnega skripta."


Slika 2.1. Skript script1.sh

Napišite isti scenarij zase. Dobra ideja bi bila ustvariti imenik ~/scripts, kjer bodo vaši skripti. Dodajte ta imenik vsebini PATH spremenljivka:

Izvoz PATH="$PATH:~/scripts"

Če šele začenjate uporabljati Bash, uporabite urejevalnik besedila, ki uporablja različne barve za različne konstrukcije lupine. Označevanje sintakse je podprto v vim, gvim, (x)emacs, kwrite in mnogih drugih urejevalnikih, si oglejte dokumentacijo za vaš najljubši urejevalnik.

Izvajanje skripte

Da se lahko skript izvaja, mora imeti dovoljenja za izvajanje za ustrezne uporabnike. Ko nastavite dovoljenja, preverite, ali ste dejansko nastavili dovoljenja, ki jih potrebujete. Ko je to storjeno, lahko skript zaženete tako kot kateri koli drug ukaz:

Willy:~/scripts> chmod u+x script1.sh willy:~/scripts> ls -l script1.sh -rwxrw-r-- 1 willy willy 456 24. december 17:11 script1.sh willy:~> script1.sh Scenarij se začne zdaj. Živjo Willy! Zdaj vam bom prinesel seznam povezanih uporabnikov: 15:38 do 18 dni, 5:37, 4 uporabniki, povprečje nalaganja: 0,12, 0,22, 0,15 USER TTY OD PRIJAVE@ IDLE JCPU PCPU KAJ root tty2 - sob 14:00 4:25 0,24 s 0,05 s -bash willy:0 - sob 14.00 ? 0,00s ? - willy pts/3 - Sat 2pm 3:33m 36.39s 36.39s BitchX willy ir willy pts/2 - Sat 2pm 3:33m 0.13s 0.06s /usr/bin/screen Zdaj nastavljam dve spremenljivki. To je niz : black In to je številka: 9 Zdaj ti vračam tvoj poziv. willy:~/scripts> echo $COLOUR willy:~/scripts> echo $VALUE willy:~/scripts>

To je najpogostejši način izvajanja skripta. Priporočljivo je izvajati takšne skripte v podlupini. Spremenljivke, funkcije in vzdevki, ustvarjeni v tej podlupini, so znani samo v določeni seji bash v tej podlupini. Ko je ta lupina zapuščena in nadrejena lupina prevzame nadzor, se vse nastavitve počistijo in vse spremembe, ki jih je naredil skript v stanju te lupine, bodo pozabljene.

Če niste določili skriptov ali . (trenutni imenik), lahko skript aktivirate takole:

./ime_skripta.sh

Skript je mogoče zagnati tudi znotraj obstoječe lupine, vendar je to običajno samo, če želite posebne funkcije, na primer če želite preizkusiti, ali skript deluje z drugo lupino, ali ustvariti sled za namene odpravljanja napak ( pribl.- namesto script_name navedite ime vaše skripte):

Rbash ime_skripta.sh sh ime_skripta.sh bash -x ime_skripta.sh

Navedena ukazna lupina bo zagnana kot podlupina vaše trenutne lupine in bo izvedla skript. To se naredi, ko želite, da se skript izvaja z določenimi parametri ali pod določenimi pogoji, ki niso navedeni v samem skriptu.

Če ne želite zagnati nove lupine, ampak želite zagnati skript v trenutni lupini, uporabite izvorni ukaz:

Izvorno ime_skripta.sh

V tem primeru skript ne potrebuje izvajalskih pravic. Ukazi se izvajajo v kontekstu trenutne lupine, tako da bodo vse spremembe, ki so narejene v vašem okolju, ostale vidne, ko se skript konča z izvajanjem:

Willy:~/scripts> source script1.sh --output ommitted-- willy:~/scripts> echo $VALUE 9 willy:~/scripts>