Ubuntu pārvaldība, izmantojot skriptu sistēmā Windows. Izpildiet skriptu, kad Linux startē vai izslēdzas. # Multivide un kodeki

Priekš rakstot vienkāršu bash skriptu, mums jāveic šādas vienkāršas darbības:

Kā tas viss darbojas:

Mūsu skripta #!/bin/bash pirmā rindiņa ir būtiska, lai mūsu skripts varētu veiksmīgi izpildīt.

otrā rinda mkdir testdir izveido testdir direktoriju

trešā rinda cd testdir ļauj pāriet uz izveidoto direktoriju testdir

komanda pieskarties nākamajā rindā touch file1 file2 file3 izveido trīs failus

un pēdējā komanda mūsu skripta rindā ls -al ļauj parādīt pašreizējā direktorija saturu, kurā, pateicoties iepriekšējai rindai, ir parādījušies trīs tukši faili.

Kā redzam, mūsu vienkāršs skripts visas komandas sākas ar jauna līnija. Katra rinda, palaižot skriptu, secīgi veic savu darbu, veicot noteiktas darbības.

Ja katru dienu Linux izpildāt identisku komandu ķēdi (ar nemainīgiem parametriem), tad, iespējams, ir jēga rakstīt to pašu vienkāršs bash skripts, kas ļaus ietaupīt laiku un automatizēt darbu.

Vispirms izdomāsim, kas tas ir skripts un kāpēc tas ir vajadzīgs.

Skripts tulkots no angļu valodas - scenārijs. Mēs visi skatāmies filmas, daudzi no mums skatās lugas. Filmas/ lugas veidošanai scenāristi raksta tām scenārijus, uz kuru pamata aktieri ainu pēc ainas izpilda savas lomas uz skatuves, no kuras tiek veidota filma/ luga. Scenārija veidošanas darbs ir diezgan cītīgs, kur jāņem vērā viss līdz mazākajai detaļai, lai beigās mākslinieki izpildītu scenārija autora iecerēto, bet skatītājs redzētu pilnu darbu.

Līdzīgi skripti tiek rakstīti, lai izpildītu uzdevumu sarakstu, ko lietotājs izveido (kods), lai atvieglotu un ātrāk to izpildi. operētājsistēma. Lai rakstītu vienkāršus skriptus, nav nepieciešama programmētāja izglītība.

Vispirms izveidosim vienkāršāko skripts-Shell lai atjauninātu sistēmu.

Es veiksu visas darbības ar sistēmu Ubuntu, bet tie ir piemērojami arī citām sistēmām Linux, atvasināts no Ubuntu. Šim nolūkam mums ir nepieciešams: Teksta redaktors lai to aizpildītu ar nepieciešamajiem uzdevumiem, lai izveidotu skriptu (kodu) un Terminālis- lai izpildītu izveidoto skriptu. Šie rīki ir uzstādīti jebkurā izplatīšanā Linux noklusējuma.

Tātad, atveram teksta redaktors Gedit un ievadiet tajā pirmās nepieciešamās rakstzīmes Shebang.
Shebang programmēšanā tā ir divu simbolu secība: hash un izsaukuma zīme (#! ) skripta faila sākumā. Un pievienojiet šīm rakstzīmēm bez atstarpēm /bin/sh- tulks, kurā tiks izpildīts skripts. /bin/sh- tas parasti ir Bourne apvalks vai saderīgs komandrindas tulks, kas iztur "ceļš/uz/skripts" kā pirmais parametrs.
Pirmā nepieciešamā skripta rindiņa izskatīsies šādi:

# Mans pirmais Ubuntu atjaunināšanas skripts

Jaucējzīme (#) pašā rindas sākumā tulkam/terminālam skaidri parāda, ka šī rinda nav jālasa un jāizpilda. Rinda ir vajadzīga šī skripta kodā, lai skripta veidotājs zinātu, ko viņš šajā koda segmentā/sižetā darīs, lai turpmāk neapjuktu, kad šādu rindiņu būs daudz. Šādas rindas ar jaucējzīmi sauc - komentēja .

sudo apt atjauninājums
sudo apt jauninājums -y

-y otrās komandas beigās tulkam/terminālim skaidri norāda, ka šī darbība/komanda ir jāveic automātiski, bez lietotāja papildu apstiprinājuma, nospiežot taustiņu Ievadiet. y- angļu valodas saīsinājums , t.i. .

Tas ir viss. Jūsu pirmais skripts ir izveidots. Jums vajadzētu iegūt kaut ko līdzīgu attēlā:


Atliek tikai saglabāt izveidoto failu/skriptu un dot Vārds ar obligātu pagarinājumu beigās - .sh. Pagarinājums .sh kas piešķirts izpildāmajam failam.
Es viņam iedevu Vārds - update.sh, ietaupot Mājas mape lietotājs:


Lai izveidotais fails/skripts būtu izpildāms, tam ir jādod atļauja to darīt. Ir divi veidi, kā to izdarīt.

1. Terminālī izpildiet šādu komandu:

sudo chmod +x update.sh

2. Vai arī atveriet failu pārvaldnieku Mājas mape(kur saglabājāt izveidoto skriptu), ar peles labo pogu noklikšķiniet uz faila, konteksta izvēlnē - Īpašumi - Tiesības un aktivizējiet vienumu - Performance: Atļaut failu izpildīt kā programmu:


Lai izpildītu izveidoto skriptu, ir jāatver terminālis (kā jau raksta pašā sākumā rakstīju, ka terminālis ir nepieciešams atribūts/rīks skripta izpildei), ievadiet sh, atdalot ar atstarpi, skripta nosaukumu - update.sh un nospiediet taustiņu Ievadiet:


Vai arī terminālī mēs ieejam sh un velciet no failu menedžeris izveidotais fails ar skriptu (arī atdalīts ar atstarpi):


Kad faila ceļš tiek parādīts pēc komandas sh un atstarpe, vienkārši nospiediet taustiņu Ievadiet(Ievadiet), lai veiktu sistēmas atjaunināšanu:


Tagad jebkurā laikā varat atjaunināt sistēmu, izmantojot savu skriptu.

Jā, kāds varētu iebilst, ka sistēmas atjaunināšanu nav grūti izdarīt, izpildot šīs divas komandas terminālī, kāpēc gan uzpūsties un izveidot dažus skriptus? Pareizi. Bet šis ir piemērs vienkārša skripta izveidei, lai parādītu, ka "nevis dievi dedzina katlus"

Lai gan varat turpināt reģistrēties manuāli, kā parādīts iepriekš, ir daudz labāk iestatīt dažus skriptus, lai tas jūsu vietā tiktu izdarīts automātiski.

Skriptu kopa automatizē pieteikšanās procesu un sāk PPP, lai viss, kas jums jādara (kā root vai kā PPP grupas dalībniekam), ir jāizdod viena komanda, lai sāktu savienojumu.

15.1. Savienojuma skripti autentifikācijai pēc lietotājvārda/paroles

Ja jūsu ISP nepieprasa PAP/CHAP, šie ir jums nepieciešamie skripti!

Ja ppp pakotne ir instalēta pareizi, jums vajadzētu būt diviem parauga failiem. PPP 2.1.2 tie atrodas mapē /usr/sbin un PPP 2.2 mapē /etc/ppp/scripts. Viņus sauc

PPP-2. 1.2

un PPP-2. 2

ppp-off ppp-on ppp-on-zvanītājprogramma

Tagad, ja izmantojat PPP 2.1.2, es ļoti aicinu jūs noņemt piemēru failus. Ar tiem ir iespējamas problēmas (un nesakiet, ka tie darbojas lieliski), es tos izmantoju ļoti ilgu laiku (un pat ieteicu tos šī HOWTO pirmajā versijā)!

PPP 2.1.2 lietotājam pieejams LABĀKĀ versija veidne, kas ņemta no PPP 2.2 izplatīšanas. Iesaku kopēt un izmantot šos skriptus vecā PPP-2.1.2 skripta vietā.

15.2 ppp-on skripts

Šis ir pirmais no PĀRI skriptiem, kas faktiski sāk savienojumu.

#!/bin/sh # # Skripts, lai uzsāktu PPP savienojumu. Šī ir pirmā daļa no pāris skriptiem. # Tie nav slepeni skripti, jo kodi ir redzami ar komandu ps. # Tomēr šis ir piemērs. # # Šie ir parametri. Mainiet tos pēc vajadzības. TELEPHONE=555-1212 # Telefona numurs savienojumi ACCOUNT=george # Pieteikšanās lietotājvārds ("Džordžs Bērnss") PASSWORD=gracie # Parole šim kontam (un "Gracie Allen") LOCAL_IP=0.0.0.0 # Vietējā IP adrese, ja tā ir zināma. Dinamiska = 0.0.0.0 REMOTE_IP=0.0.0.0 # Attālā IP adrese, ja vēlaties. Parasti 0.0.0.0 NETMASK=255.255.255.0 # Atbilstošā tīkla maska, ja nepieciešams # # Eksportējiet tās, lai tās būtu pieejamas "ppp-on-dialer" eksportēšanas TELEFONA KONTA PAROLE # # Šī ir skripta atrašanās vieta, kas izsauc tālruni un reģistrējas # sistēmā. Lūdzu, izmantojiet absolūto faila nosaukumu, jo savienojuma # opcija neizmanto mainīgo $PATH. (Ja jūs to izdarīsit, "root" konts # būs drošības caurums, tāpēc nejautājiet.) # DIALER_SCRIPT=/etc/ppp/ppp-on-dialer # # Savienojuma iniciēšana # # exec /usr/sbin /pppd atkļūdošana / dev/ttySx 38400 \ $LOCAL_IP:$REMOTE_IP \ savienot $DIALER_SCRIPT

Šis ir ppp-on-zvanītājprogrammas skripts:

#!/bin/sh # # Šī ir ppp-on skripta otrā daļa. Tas izveido # vēlamo savienojumu. # /usr/sbin/chat -v \ 3. TIMEOUT \ ABORT "\nBUSY\r" \ ABORT "\nBEZ ATBILDES\r" \ ABORT "\nZVANA\r\n\r\nZVANA\r" \ "" \rAT \ "OK-+++\c-OK" ATH0 \ TIMEOUT 30 \ OK ATDT$TELEPHONE \ CONNECT "" \ ogin:--in: $ACCOUNT \ assword: $PASSWORD

PPP-2.2 ppp-off skripts ir aptuveni šāds:

#!/bin/sh ########################################### ## ############################# # # Definējiet ierīci, kas jāpārtrauc. # ja [ "$1" = "" ]; tad DEVICE=ppp0 cits DEVICE=$1 fi ######################################## ############################# # # # # Ja tur ir pid fails ppp0, tad programma darbojas. Apturiet viņu. if [ -r /var/run/$DEVICE.pid]; tad kill -INT `cat /var/run/$DEVICE.pid` # # Ja kill neizdodas, tad šajā pid nedarbojas neviens process. # Tas var arī nozīmēt, ka ir svešs bloķēšanas fails. # Iespējams, vēlēsities to noņemt. ja [! "$?" = "0" ]; tad rm -f /var/run/$DEVICE.pid echo "KĻŪDA: noņemts novecojis pid fails" iziet 1 fi # # Lieliski. Ļaujiet pppd izlabot savu kļūdu. echo "PPP saite uz $DEVICE pārtraukta." iziet 0 fi # # ppp process nedarbojas ppp0 echo "KĻŪDA: PPP saite nav aktīva $DEVICE" izeja 1

15.3. PPP palaišanas skriptu rediģēšana

Tā kā jaunajiem skriptiem ir divas daļas, mēs tos rediģēsim pēc kārtas.

ppp-on skripts

Jums būs jārediģē skripts, lai ISP ievietotu SAVU lietotājvārdu, ISP paroli un ISP tālruņa numuru.

Katra no rindiņām, piemēram, TELEPHONE=, faktiski ir iestatīti apvalka mainīgie, kas satur informāciju pa labi no = (protams, izņemot komentārus). Rediģējiet katru no šīm rindām, lai tās atbilstu jūsu ISP un savienojumam.

Turklāt, tā kā jūs iestatāt IP adresi (ja jums tā ir nepieciešama) failā /etc/ppp/options, NOŅEM rindiņu, kas saka

$LOCAL_IP:$REMOTE_IP \

Tāpat pārliecinieties, ka apvalka mainīgais DIALER_SCRIPT norāda uz pilnu zvanītājprogrammas skripta ceļu un nosaukumu, kuru jūs faktiski gatavojaties izmantot. Tātad, ja pārvietojāt to vai pārdēvējāt skriptu, pārliecinieties, ka esat pareizi rediģējis šo rindiņu ppp-on skriptā!

ppp-on-dialer skripts

Šis ir otrais skripts, kas faktiski palielina mūsu ppp savienojumu.

Lūdzu, ņemiet vērā: tērzēšanas skripts parasti ir vienas rindiņas skripts. Slīpssvītras tiek izmantotas, lai atdalītu līnijas vairākās fiziskās līnijās (lai to varētu lasīt cilvēkiem) un izvairītos no skripta veidošanās.

Tomēr ir ļoti noderīgi to aplūkot detalizēti, lai mēs saprastu, kas patiesībā (it kā) notiek!

15.4. Ko nozīmē tērzēšanas skripts...

Tērzēšanas skripts - pāru secība gaidītā virknenosūtīta virkne. Jo īpaši, lūdzu, ņemiet vērā, ka mēs VIENMĒR kaut ko gaidām, pirms kaut ko nosūtām.

Ja mums kaut kas ir jānosūta, vispirms neko nesaņemot, mums ir jāizmanto tukša gaidīšanas virkne (apzīmēta ar "") un tāpat, lai kaut ko gaidītu, neko nenosūtot! Turklāt, ja virkne sastāv no vairākiem vārdiem (piemēram, NO CARRIER), virknei ir jāliek pēdiņas, lai tērzēšana to uzskatītu par vienu veselumu.

Tērzēšanas līnija mūsu veidnē:

Izpildīt /usr/sbin/chat -v

Izsaucot tērzēšanu, opcija -v liek čatam kopēt VISUS I/O sistēmas žurnālā (parasti /var/log/messages). Kad esat pārliecināts, ka tērzēšanas skripts darbojas droši, rediģējiet šo rindiņu, lai noņemtu -v, lai izvairītos no nevajadzīgas informācijas glabāšanas sistēmas žurnālā.

Tas iestata paredzētās ievades saņemšanas pauzi uz 3 sekundēm. Jūs varat palielināt šo vērtību līdz 5 vai 10 sekundēm, ja izmantojat lēnu modemu!

PĀRTRAUKT "\nBUSY\r"

Ja tiek saņemta virkne BUSY, darbība tiek pārtraukta neparasti.

PĀRTRAUKT "\nBEZ ATBILDES\r"

Ja tiek saņemta virkne NAV ATBILDES, darbība tiek pārtraukta neparasti.

ATORT "\nRINGING\r\n\r\nRINGING\r"

Ja (mēs atkārtojam) tiek saņemta virkne RINGING, darbība tiek pārtraukta neparasti.

Tas ir tāpēc, ka kāds ir jūsu tālruņa līnijā!

Mēs neko negaidām no modema, un mēs nosūtīsim tam līniju

OK-+++\c-OK ATH0

Tas ir nedaudz sarežģītāk, jo tajā tiek izmantotas dažas tērzēšanas kļūdu atkopšanas iespējas.

Tas, ko saka... Mēs gaidām labi ja tas netiek saņemts (jo modems nav komandu režīmā), tad nosūtiet +++ (standarta rindiņa Heisa saderīgiem modemiem, kas atgriež modemu uz komandu režīms) un gaidiet labi.

Tad mēs nosūtām ATH0 (līnija modema savienojuma pārtraukšanai). Tas ļauj jūsu skriptam tikt galā ar modema karāšanos zvana laikā!

Atlikušajām skripta komandām iestatīsim 30 sekunžu laika pauzi. Ja jums rodas problēmas ar tērzēšanas skripta pārtraukumu paužu dēļ, palieliniet šo vērtību līdz 45 sekundēm vai vairāk

OK ATDT$TELEFONS

Mēs gaidām labi(modema atbilde uz komandu ATH0) un sastādiet numuru, uz kuru vēlamies zvanīt

Mēs gaidām CONNECT līniju (kuru mūsu modems nosūta, kad attālais modems atbild) un neko nesūta

Sākums: -- ievads: $ ACCOUNT

Atkal, šeit mēs ievietojam dažus kļūdu labojumus. Mēs gaidām pieteikšanās uzvedni (...ogin:), bet, ja pēc pauzes to nesaņemam, mēs nosūtām karieta atgriešanos un pēc tam atkal meklējam pieteikšanās uzvedni. Kad mājiens tiek saņemts, mēs nosūtām lietotājvārdu (saglabāts čaulas mainīgajā $ACCOUNT).

Parole: $PASSWORD

Mēs gaidām paroles pieprasījumu un nosūtām savu paroli (līdzīgi saglabāta apvalka mainīgajā).

Šim tērzēšanas skriptam ir saprātīga kļūdu labošanas iespēja. tērzēšana ir ievērojami liels daudzums iespējas, nekā šeit parādīts. Priekš Detalizēta informācija konsultējieties ar vīrieti tērzēšana (vīriešu 8 tērzēšana).

PPP palaišana savienojuma servera pusē

Lai gan ppp-on-dialer skripts ir lieliski piemērots serveriem, kas automātiski palaiž pppd servera pusē, tiklīdz jūs piesakāties, daži serveri prasa, lai jūs nepārprotami pavēlētu PPP startēt serverī.

Ja jums ir jāizdod komanda, lai serverī palaistu PPP, ir jārediģē skripts ppp-on-dialer.

Skripta BEIGĀS (aiz paroles rindas) pievienojiet papildu gaidīšanas-sūtīšanas virknes pāri, kas meklē jūsu pieteikšanās uzvedni (atšķirot rakstzīmes, kurām ir īpaša nozīme Bourne apvalkā: piemēram, $ un [ vai ] (atvērts un aizvērts). kvadrātiekavās).

Kad tērzēšanas programma ir atradusi čaulas komandrindu, tai jāizdod ppp start komanda, kas nepieciešama jūsu ISP PPP serverim.

Manā gadījumā mans PPP serveris izmanto standarta bash Linux uzvedni

un lūdz man rakstīt

lai serverī palaistu PPP.

Šeit būtu labi ņemt vērā dažas kļūdas, tāpēc, piemēram, manā gadījumā es izmantoju

Hartr — hartr ppp

Tas nozīmē, ka, ja mēs nesaņemam mājienu noteiktā pauzē, mēs nosūtām karietes atpakaļ un meklējam mājienu vēlreiz.

Kad mājiens ir saņemts, mēs nosūtām rindu ppp .

Neaizmirstiet pievienot \ iepriekšējās rindas beigās, lai čats domātu, ka viss tērzēšanas skripts ir viena rindiņa!

Diemžēl dažos serveros padomu kopa bieži mainās!

Jums var būt nepieciešams vairākas reizes pieteikties, izmantojot minicom, lai saprastu, kas notiek, un atrastu stalli gaidāms līniju.

15.5. Tērzēšanas skripts PAP/CHAP savienojumam

Ja jūsu ISP izmanto PAP/CHAP, tērzēšanas skripts ir daudz vienkāršāks.

Visam jūsu tērzēšanas skriptam vajadzētu rīkoties šādi: zvaniet uz tālruņa numuru, gaidiet savienojumu un pēc tam ļaujiet pppd apstrādāt pieteikšanos!

#!/bin/sh # # Šī ir ppp-on skripta 2. daļa. Tas veiks savienojuma # protokolu vajadzīgajam savienojumam. # exec /usr/sbin/chat -v \ 3. TIMEOUT \ ABORT "\nBUSY\r" \ ABORT "\nBEZ ATBILDES\r" \ ABORT "\nZVANA\r\n\r\nZVANA\r" \ "" \ rAT \ "OK-+++\c-OK" ATH0 \ TIMEOUT 30 \ OK ATDT$TELEPHONE \ CONNECT "" \

15.6. Pppd atkļūdošana un faila opcija option_file

Kā mēs jau redzējām, jūs varat iespējot atkļūdošanas informāciju, izmantojot pppd opciju -d. Atkļūdošanas opcija ir līdzvērtīga tai.

Tā kā mēs veidojam jaunu savienojumu ar jaunu skriptu, tagad pārbaudiet atkļūdošanas opciju.

Ja diskā ir maz vietas, pppd žurnāli var ātri palielināt syslog failu un radīt problēmas.

Kad esat apmierināts, ka viss darbojas pareizi, varat noņemt šo opciju.

Ja savam ppp opciju failam nosaucāt citu nosaukumu, nevis /etc/ppp/options vai /etc/ppp/options.ttySx, norādiet faila nosaukumu ar faila opciju pppd, piemēram,

Exec /usr/sbin/pppd atkļūdošanas fails options.myserver /dev/ttyS0 38400 \

Vispirms izdomāsim, kas tas ir skripts un kāpēc tas ir vajadzīgs.

Skripts tulkots no angļu valodas - scenārijs. Mēs visi skatāmies filmas, daudzi no mums skatās lugas. Filmas/ lugas veidošanai scenāristi raksta tām scenārijus, uz kuru pamata aktieri ainu pēc ainas izpilda savas lomas uz skatuves, no kuras tiek veidota filma/ luga. Scenārija veidošanas darbs ir diezgan cītīgs, kur jāņem vērā viss līdz mazākajai detaļai, lai beigās mākslinieki izpildītu scenārija autora iecerēto, bet skatītājs redzētu pilnu darbu.

Līdzīgi skripti tiek rakstīti, lai izpildītu uzdevumu sarakstu, ko lietotājs izveido (kods), lai atvieglotu un ātrāku to izpildi operētājsistēmā. Lai rakstītu vienkāršus skriptus, nav nepieciešama programmētāja izglītība.

Vispirms izveidosim vienkāršāko skripts-Shell lai atjauninātu sistēmu.

Es veiksu visas darbības ar sistēmu Ubuntu, bet tie ir piemērojami arī citām sistēmām Linux, atvasināts no Ubuntu. Šim nolūkam mums ir nepieciešams: Teksta redaktors lai to aizpildītu ar nepieciešamajiem uzdevumiem, lai izveidotu skriptu (kodu) un Terminālis- lai izpildītu izveidoto skriptu. Šie rīki ir uzstādīti jebkurā izplatīšanā Linux noklusējuma.

Tātad, atveriet teksta redaktoru Gedit un ievadiet tajā pirmās nepieciešamās rakstzīmes Shebang.
Shebang Programmēšanā šī ir divu rakstzīmju secība: jaucējzīme un izsaukuma zīme ( #! ) skripta faila sākumā. Un pievienojiet šīm rakstzīmēm bez atstarpēm /bin/sh- tulks, kurā tiks izpildīts skripts. /bin/sh- tas parasti ir Bourne apvalks vai saderīgs komandrindas tulks, kas iztur "ceļš/uz/skripts" kā pirmais parametrs.
Pirmā nepieciešamā skripta rindiņa izskatīsies šādi:

# Mans pirmais Ubuntu atjaunināšanas skripts

Jaucējzīme (#) pašā rindas sākumā tulkam/terminālam skaidri parāda, ka šī rinda nav jālasa un jāizpilda. Rinda ir vajadzīga šī skripta kodā, lai skripta veidotājs zinātu, ko viņš šajā koda segmentā/sižetā darīs, lai turpmāk neapjuktu, kad šādu rindiņu būs daudz. Šādas rindas ar jaucējzīmi sauc - komentēja .

sudo apt atjauninājums
sudo apt jauninājums -y

-y otrās komandas beigās tulkam/terminālim skaidri norāda, ka šī darbība/komanda ir jāveic automātiski, bez lietotāja papildu apstiprinājuma, nospiežot taustiņu Ievadiet. y- angļu valodas saīsinājums , t.i. .

Tas ir viss. Jūsu pirmais skripts ir izveidots. Jums vajadzētu iegūt kaut ko līdzīgu attēlā:


Atliek tikai saglabāt izveidoto failu/skriptu un dot Vārds ar obligātu pagarinājumu beigās - .sh. Pagarinājums .sh kas piešķirts izpildāmajam failam.
Es viņam iedevu Vārds - update.sh, ietaupot Mājas mape lietotājs:


Lai izveidotais fails/skripts būtu izpildāms, tam ir jādod atļauja to darīt. Ir divi veidi, kā to izdarīt.

1. Terminālī izpildiet šādu komandu:

sudo chmod +x update.sh

2. Vai arī atveriet failu pārvaldnieku Mājas mape(kur saglabājāt izveidoto skriptu), ar peles labo pogu noklikšķiniet uz faila, konteksta izvēlnē - Īpašumi - Tiesības un aktivizējiet vienumu - Performance: Atļaut failu izpildīt kā programmu:


Lai izpildītu izveidoto skriptu, ir jāatver terminālis (kā jau raksta pašā sākumā rakstīju, ka terminālis ir nepieciešams atribūts/rīks skripta izpildei), ievadiet sh, atdalot ar atstarpi, skripta nosaukumu - update.sh un nospiediet taustiņu Ievadiet:


Vai arī terminālī mēs ieejam sh un velciet izveidoto failu ar skriptu no failu pārvaldnieka (arī atdalot ar atstarpi):


Kad faila ceļš tiek parādīts pēc komandas sh un atstarpe, vienkārši nospiediet taustiņu Ievadiet(Ievadiet), lai veiktu sistēmas atjaunināšanu:


Tagad jebkurā laikā varat atjaunināt sistēmu, izmantojot savu skriptu.

Jā, kāds varētu iebilst, ka sistēmas atjaunināšanu nav grūti izdarīt, izpildot šīs divas komandas terminālī, kāpēc gan uzpūsties un izveidot dažus skriptus? Pareizi. Bet šis ir piemērs vienkārša skripta izveidei, lai parādītu, ka “nevis dievi dedzina katlus” 😃.

Iemācījoties rakstīt un lietot vienkāršus skriptus, varat izveidot skriptu sistēmas iestatīšanai, lai, pārinstalējot sistēmu, varētu izmantot izveidoto skriptu, nemeklējot katru reizi internetā vietnes ar līdzīgiem iestatījumiem.

Daudzi no jums, visticamāk, izmanto sistēmas iestatīšanas vietnes, piemēram, tās, kuras es publicēju pēc nākamā laidiena. Ubuntu - Ubuntu pēc instalēšanas vai līdzīgas vietnes. Atveriet kādu no šīm vietnēm: http://compizomania.blogspot.com/2016/04/ubuntu-1604.html un pēc tam teksta redaktoru, lai izveidotu skriptu.
Piemēram, es izveidoju šādu tukšu.

Teksta redaktorā ievadiet pirmo nepieciešamo rindiņu:

# Ubuntu iestatīšana pēc instalēšanas
# Sistēmas atjauninājums

Šīs ir sistēmas atjaunināšanas komandas:

sudo apt atjauninājums
sudo apt jauninājums -y

Apraksta rindiņa: repozitoriju pievienošana:

# Repozitoriju pievienošana

Un pievienojiet nepieciešamos repozitorijus turpmākai programmatūras instalēšanai:

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

Pēc nepieciešamo repozitoriju pievienošanas (es atkārtoju, jums var būt savas krātuves, man ir piemērs), jums ir jāatjaunina sistēma:

Apraksta rindiņa:

# Sistēmas atjaunināšana pēc repozitoriju pievienošanas

Un izpildāmā komanda:

sudo apt atjauninājums

Tagad, kad krātuves ir pievienotas un sistēma ir atjaunināta, ir pienācis laiks instalēt programmas:

# Programmu instalēšana

Lai instalētu programmas, vienreiz ievadiet komandu sudo apt instalēt un tad caur atstarpi iekšā šī līnija pievienojiet tik daudz programmu, cik vēlaties, galvenais, lai tās būtu pareizi kompilētas. Ja programma sastāv no vairākiem vārdiem, tās komandai jābūt monolītai, t.i. visi tajā esošie vārdi jāievada ar domuzīmi, piemēram: Unity-tweak-rīks:

sudo apt instalējiet manu laikapstākļu indikatoru telegramma skype lm-sensors hddtemp psensors gdebi systemback unity-tweak-tool ubuntu-cleaner gradio -y

Papildu kodeku instalēšana

# Multivide un kodeki

sudo apt instalēt ubuntu-restricted-extras -y

Sistēmas kļūmju atspējošana

# Atspējot sistēmas avāriju ziņošanu

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

Nu, tas laikam arī viss. Šim ģenerētajam skripta failam vajadzētu izskatīties šādi:


Tas ir jāsaglabā (noklikšķiniet uz pogas Saglabāt) un dot Vārds ar pagarinājumu .sh. Es viņam piezvanīju Iestatījumi\Ubuntu.sh(varat to nosaukt citādi, taču noteikti izmantojiet paplašinājumu .sh):


Padarīsim izveidoto skriptu izpildāmu:

sudo chmod +x Setup\Ubuntu.sh

Lai izpildītu izveidoto skriptu, ievadiet terminālī sh un izveidotā skripta nosaukumu, atdalot ar atstarpi, vai sh, atstarpes taustiņu un velciet izveidoto failu terminālī, kā paskaidrots iepriekš vienkāršākajā skriptā, un nospiediet taustiņu Ievadiet, lai to īstenotu.

Piezīme. Komandā atgriezeniskā slīpsvītra Iestatījumi\Ubuntu.sh termināļa faila nosaukumā izspiež atstarpi starp diviem atsevišķiem vārdiem.

Kad skripts ir izpildīts, saglabājiet to turpmākai sistēmas atkārtotai instalēšanai un atkārtotai konfigurēšanai, vislabāk atsevišķā cietā diska nodalījumā mapē /mājas. Ja tāda nav, tad mākoņpakalpojums(Mākoņa datu krātuve) veids: DropBox, Cloud Mail.Ru, Mega.co utt., lai jūs jebkurā laikā varētu izmantot skriptu pats vai palīdzēt draugiem vai radiem izveidot sistēmu.

Apvalka skripts ir komandu secība, ko varat izmantot atkārtoti. Šīs secības izpilde parasti tiek veikta, ievadot komandrinda skripta nosaukums. Turklāt, izmantojot cron, varat izmantot skriptus, lai automatizētu uzdevumus. Vēl viens skriptu lietojums ir sāknēšanas un apturēšanas procedūra UNIX sistēmas, kad init skripti definē darbības ar dēmoniem un pakalpojumiem.

Lai izveidotu čaulas skriptu, redaktorā atveriet jaunu, tukšu failu. Šim nolūkam varat izmantot jebkuru teksta redaktoru: vim, emacs, gedit, dtpad utt.; Derēs jebkurš. Tomēr jūs varat izvēlēties sarežģītāku redaktoru, piemēram, vim vai emacs, jo šādus redaktorus var konfigurēt, lai atpazītu apvalku un Bash sintaksi, un tie var būt labs palīgs, lai izvairītos no iesācēju bieži pieļaujamām kļūdām, piemēram, aizmirstot aizvērt iekavas un izmantot semikolu.

Zvanīt UNIX komandas jaunā tukšā failā tā, it kā jūs tos būtu ievadījis komandrindā. Kā minēts iepriekšējā nodaļā (skatiet sadaļu "Komandas palaišana"), komandas var būt čaulas funkcijas, iebūvētās komandas, UNIX komandas vai citi skripti.

Piešķiriet savam skriptam mnemonisku nosaukumu, kas norāda uz skripta darbību. Pārliecinieties, vai skripta nosaukums nav pretrunā esošajām komandām. Lai izvairītos no neskaidrībām, skriptu nosaukumi bieži beidzas ar paplašinājumu .sh. Tomēr sistēmā var būt arī citi skripti ar tādu pašu nosaukumu, kādu izvēlējāties. Izmantojot komandas kuras, kur ir un citi, meklējiet informāciju par esošajām programmām un failiem ar šādu nosaukumu:

Kurš -skripta_nosaukums kur ir skripta_nosaukums atrast skripta_nosaukums ( apm. : aizstājiet skripta_nosaukums ar sava skripta nosaukumu).

Skripts script1.sh

Šajā piemērā mēs izmantojam komandu atbalss, iebūvēts Bash, kas informēs lietotāju par to, kas jādara pirms izvades došanas. Ir ļoti ieteicams, lai lietotāji būtu informēti par to, ko skripts dara, lai lietotāji neuztraucās, ja viņiem šķita, ka scenārijs neko nedara. Mēs atgriezīsimies pie tēmas par lietotāju informēšanu 8. nodaļā “Interaktīva skripta rakstīšana”.


2.1.att. Skripts script1.sh

Uzrakstiet to pašu skriptu sev. Laba ideja būtu izveidot direktoriju ~/scripts, kurā atradīsies jūsu skripti. Pievienojiet šo direktoriju saturam PATH mainīgais:

Eksportēt PATH="$PATH:~/skripti"

Ja jūs tikko sākat darbu ar Bash, izmantojiet teksta redaktoru, kas dažādām čaulas konstrukcijām izmanto dažādas krāsas. Tiek atbalstīta sintakses izcelšana vim, gvim, (x) emacs, kwrite un daudzi citi redaktori, skatiet sava iecienītākā redaktora dokumentāciju.

Skripta izpilde

Lai skripts tiktu palaists, tam ir jābūt atļaujām darboties atbilstošiem lietotājiem. Kad esat iestatījis atļaujas, pārbaudiet, vai tiešām esat iestatījis nepieciešamās atļaujas. Kad tas ir izdarīts, skriptu var palaist tāpat kā jebkuru citu komandu:

Willy:~/scripts> chmod u+x script1.sh willy:~/scripts> ls -l script1.sh -rwxrw-r-- 1 willy willy 456 24. decembris 17:11 script1.sh willy:~> script1.sh Skripts sākas tagad. Sveiks Vilij! Tagad es atnesīšu jums pievienoto lietotāju sarakstu: 15:38 līdz 18 dienām, 5:37, 4 lietotāji, vidējā slodze: 0,12, 0,22, 0,15 LIETOTĀJA TTY NO LOGIN@ IDLE JCPU PCPU WHAT root tty2 - sestdien 14:00 4:25 min 0,24 s 0,05 s -bash willy:0 - sestdien 14:00 ? 0.00 s? - willy pts/3 - Set 14pm 3:33m 36.39s 36.39s BitchX willy ir willy pts/2 - Sat 14pm 3:33m 0.13s 0.06s /usr/bin/screen Es tagad iestatu divus mainīgos. Šī ir virkne : melns Un šis ir skaitlis: 9 Es jums tagad atdodu jūsu uzvedni. willy:~/scripts> echo $COLOUR willy:~/scripts> echo $VALUE willy:~/scripts>

Šis ir visizplatītākais skripta izpildes veids. Šādus skriptus vēlams palaist apakšapvalkā. Šajā apakščaulā izveidotie mainīgie, funkcijas un aizstājvārdi ir zināmi tikai konkrētajā bash sesijā šajā apakščaulā. Kad no šī čaula tiek aizvērta un vecākčaula pārņem vadību, visi iestatījumi tiek notīrīti un visas skripta veiktās izmaiņas šī čaulas stāvoklī tiks aizmirstas.

Ja nenorādījāt skriptus vai . (pašreizējais direktorijs), varat aktivizēt skriptu šādi:

./script_name.sh

Ir iespējams arī palaist skriptu esošā čaulā, taču tas parasti tiek darīts tikai tad, ja vēlaties īpašas funkcijas, piemēram, ja vēlaties pārbaudīt, vai skripts darbojas ar citu čaulu, vai izveidot izsekošanu atkļūdošanas nolūkos ( apm.- skripta_nosaukuma vietā norādiet sava skripta nosaukumu):

Rbash skripta_nosaukums.sh sh skripta_nosaukums.sh bash -x skripta_nosaukums.sh

Norādītais komandas apvalks tiks palaists kā pašreizējā čaulas apakščaula un izpildīs skriptu. Tas tiek darīts, ja vēlaties, lai skripts tiktu palaists ar noteiktiem parametriem vai noteiktos apstākļos, kas nav norādīti pašā skriptā.

Ja nevēlaties sākt jaunu čaulu, bet vēlaties palaist skriptu pašreizējā čaulā, izmantojiet avota komandu:

Avota skripts_nosaukums.sh

Šajā gadījumā skriptam nav nepieciešamas izpildes tiesības. Komandas tiek izpildītas pašreizējā čaulas kontekstā, tāpēc visas jūsu vidē veiktās izmaiņas paliks redzamas, kad skripts tiks pabeigts:

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