Iepriekš publicētais Fahmida Yesmin raksts [4] sniedz lielisku ievadu Bash mainīgajos. Šeit mēs soli tālāk un paskaidrojam, kā deklarēt mainīgos Bash tādā veidā, lai tos varētu izmantot citās Linux sistēmas vidēs, un kuras atbilstošās blakusparādības jums jāņem vērā.
Īss Bash apraksts
Bash apvalks pirmo reizi tika izlaists 1989. gadā un tika izmantots kā noklusējuma pieteikšanās apvalks lielākajai daļai Linux izplatījumu. Braiens Fokss uzrakstīja Bash kā UNIX čaulu un komandu valodu GNU projektam kā bezmaksas programmatūras aizstājēju Bourne shellam. Tas ir saīsinājums Bourne Again Shell. Bash lielā mērā ir saderīgs ar sh un ietver noderīgas Korn apvalka funkcijas ksh un C apvalks csh [6].
Kaut arī GNU operētājsistēma nodrošina citas čaulas, ieskaitot csh, Bash ir noklusējuma interaktīvais apvalks. Tas ir veidots, ņemot vērā pārnesamību, un šobrīd darbojas gandrīz visās UNIX versijās, kā arī citās operētājsistēmās [9].
Bash mainīgie īsumā
Mainīgie ir programmēšanas valodu būtiskas sastāvdaļas. Uz tiem atsaucas un ar tiem manipulē datorprogrammā. Vienkārši sakot, mainīgie norāda nosauktās atmiņas šūnas. Bashā tas ir tas pats, kas jebkurā programmēšanas valodā. Tas ļauj mums kā cilvēkiem un datora lietotājiem vērtības saglabāt datora “smadzenēs” un atrast tās atkal, izmantojot piešķirto mainīgā nosaukumu.
Termins mainīgais attiecas uz divu vārdu apvienotu formu, t.e., variēt + var, kas nozīmē, ka tā vērtību var mainīt, un to var izmantot vairākas reizes. Atšķirībā no tā mainīgos, kurus nevar mainīt, sauc par konstantēm. [10]
Kamēr jūsu skriptam ir pietiekami daudz atmiņas, varat brīvi izveidot un izmantot mainīgos. Tos var vienkārši iestatīt, definējot mainīgā nosaukumu un pēc tam piešķirot tā vērtību. Bashā mainīgais nosaukums var ietvert burtus, ciparus un pasvītras. Tās nosaukumu var sākt tikai ar burtu un pasvītrojumu. Derīgie mainīgo nosaukumi ir lielums, tax5 un _tax20, bet ne 5 noteikumi.
Mainīgā vērtībā Bash var būt skaitlis, viena rakstzīme, rakstzīmju virkne vai vienumu saraksts (saukts par masīvu). Tam nav redzama datu veida, un, piešķirot vērtību, mainīgā iekšējais datu tips tiks automātiski noskaidrots (vai atvasināts). Turklāt nav nepieciešams deklarēt mainīgo - piešķirot vērtību tā atsaucei, mainīgais automātiski tiks izveidots. Zemāk redzamais Bash skripta piemērs to parāda virknes piešķiršanai un ciparu numuru piešķiršanai.
#! / bin / bashwelcomeMessage = "Sveika pasaule!"
echo $ welcomeMessage
cena = 145
atbalss $ cena
Bash mainīgo konvenciju nosaukšana
Mainīgo lielumu vārdu pareizrakstībai nav noteiktu noteikumu, ir tikai konvencijas. Šīs konvencijas tiek izmantotas:
- Mazie burti - mainīgie, kas ir lokāli skriptam vai funkcijai.
Neatkarīgi no tā, vai uzrakstīts mazo burtu / čūsku futrālis [8] vai kamieļu korpuss [7]. Iepriekš minētajā piemērā tiek izmantots kamieļu korpusa stils. - Lielo burtu nosaukumi - konstantes, vides mainīgie, čaulā iebūvētie mainīgie.
Paturiet prātā, ka šos mainīgos, iespējams, jau izmanto citas programmas. Piemēri: $ PATH, $ LANG, $ PWD, $ PS4 un $ SHELL.
Globālajiem IT uzņēmumiem ir kopīgi strādāt ar stila ceļvežiem, lai nodrošinātu vienotu kodēšanas stilu uzņēmuma starpā. Plašāku informāciju par konvencijām, kuras tie ievēro, skatiet IBM izstrādātāja redakcijā un Google stila rokasgrāmatā [3].
Mainīga redzamība
Pēc noklusējuma mainīgais ir lokāli saistīts ar struktūru, funkciju, skriptu vai procesu, un tam nevar piekļūt no tā ārpuses. Tālāk sniegtajā piemērā tas parādīts mainīgajam $ ziņojumam, kas pieder skriptam, un $ welcome, kas pieder funkcijai outputWelcomeMessage ().
#!/ bin / bash# definējiet skripta mainīgo ziņojumu
ziņojums = ”Sveiks, vēlreiz!”
outputWelcomeMessage ()
# definēt lokālo mainīgo
laipni lūdzam = ”Sveiki!”
echo $ welcome
outputWelcomeMessage () # izdrukā Sveiki!
echo $ message # izdrukā Sveiki, vēlreiz!
Lai pārliecinātos, ka iepriekš definēts mainīgais ar tādu pašu nosaukumu ir lokāli saistīts, izmantojiet atslēgvārdu vietējais, kā parādīts tālāk. Bez atslēgvārda local piešķiršana 8. rindā attiektos uz globāli definēto mainīgo ar tādu pašu nosaukumu, kas definēts iepriekš.
#!/ bin / bash# definējiet skripta mainīgo ziņojumu
ziņojums = ”Sveiks, vēlreiz!”
outputWelcomeMessage ()
# definējiet vietējo mainīgo ar tādu pašu nosaukumu
Vietējais ziņojums = ”Labdien!”
echo $ ziņa
outputWelcomeMessage () # izdrukā Sveiki!
echo $ message # izdrukā Sveiki, vēlreiz!
Mainīgā darbības jomas paplašināšana
Lai iekšējais mainīgais būtu redzams citiem bērnu procesiem, jāveic papildu darbība. Šo soli sauc par mainīgā eksportēšanu. Bash piedāvā izmantot atslēgvārdu eksportu, kam seko mainīgā nosaukums. Zemāk esošais saraksts to parāda mainīgajam backupPath.
$ backupPath = ”/ opt / backup /”$ export backupPath
Eksporta komanda ir iebūvēta čaula, ko izmanto, lai definētu mainīgo kā tādu, kuru pārmanto apakššāviņi (no sākotnējā radušās čaulas). Eksportētos mainīgos var lasīt un rakstīt vairāk nekā vienā procesā.
Otra iespēja ir deklarēt mainīgo kā vides mainīgo jau no paša sākuma. To var izdarīt, izmantojot atslēgvārdu deklarēt, kam seko opcija “-x” (plašāku informāciju par komandu deklarēt skatiet sadaļā [5]). Efekts ir līdzīgs eksportēšanas komandai, kas tika ieviesta iepriekš.
$ deklarēt -x BACKUPPATH = ”/ opt / backup /”Mantot no citām sesijām
Izpildot programmu, tā automātiski manto tās vides mainīgos no vecāku procesa. Piemēram, ja vecākam $ HOME ir iestatīts uz / root, tad bērna mainīgais $ HOME mainīgais tiek iestatīts arī uz / root.
Turpmākās komandas
Cita starpā Linux nāk ar noderīgām komandām un opcijām, kas attiecas uz mainīgajiem. Pirmie divi tiek saukti par env un printenv. Tajos ir uzskaitīti visi vides mainīgie.
Zemāk redzamais attēls parāda komandas env izvadi terminālā, kas tiek palaists X sesijā. Tas satur mainīgos, piemēram, $ XTERM (termināla tips), $ SHELL (programma, kas tiek pieprasīta pēc pieteikšanās, un parāda / bin / bash ceļam uz Bash tulku), $ LS_COLORS (krāsas, kas tiek izmantotas dažādu failu izcelšanai) veidi, izsaucot ls), un $ DESKTOP_SESSION (pašreizējā X darbvirsmas vide).
Trešais un ceturtais ir eksporta komandas opcijas - -p un -n. -p ir saīsinājums drukāšanai un vienkārši parāda visus eksportētos mainīgos pašreizējā čaulā, izmantojot komandu deklarēt.
$ eksports -ppaziņot -x DESKTOP_SESSION = "xfce"
paziņot -x DISPLAY = ": 0"
paziņot -x GLADE_CATALOG_PATH = ":"
paziņot -x GLADE_MODULE_PATH = ":"
paziņot -x GLADE_PIXMAP_PATH = ":"
paziņot -x HOME = "/ home / frank"
paziņot -x LANG = "de_DE.UTF-8 "
Opciju -n izmanto, lai atiestatītu vides mainīgo. Zemāk esošais saraksts to parāda iepriekš definētajam mainīgajam BACKUPPATH.
$ eksportēt-N DublējumkopijaSecinājums
Bašs ir ļoti gudra, bet dažreiz arī mazliet sarežģīta vide. Mainīgie kontrolē dažādu rīku mijiedarbību. Mainīgo lielumu eksportēšana palīdz sazināties starp procesiem un ir viegli izmantojama ikdienas dzīvē.
Par autoriem
Žakijs Kabeta ir vides aizstāvis, dedzīgs pētnieks, treneris un padomdevējs. Vairākās Āfrikas valstīs viņa ir strādājusi IT nozarē un NVO vidēs.
Frenks Hofmans ir IT izstrādātājs, treneris un autors, un dod priekšroku strādāt no Berlīnes, Ženēvas un Keiptaunas. Debian Package Management Book līdzautors, kas pieejams vietnē dpmb.org
Saites un atsauces
- [1] Bash programmēšana, mainīgie, https: // tldp.org / HOWTO / Bash-Prog-Intro-HOWTO-5.html
- [2] Linux Profesionālais institūts LPIC-1, https: // www.lpi.org / mūsu-sertifikāti / lpic-1-pārskats
- [3] Google čaulas stila rokasgrāmata, mainīgo nosaukumi, https: // google.github.io / styleguide / shellguide.html # s7-naming-konvencijas
- [4] Fahmida Yesmin: Kā izmantot mainīgos Bash programmēšanā, https: // linuxhint.com / mainīgie-bash-programmēšana /
- [5] Bash Hackers Wiki, https: // wiki.bash-hakeri.org /
- [6] Bash, Wikipedia, https: // lv.vikipēdija.org / wiki / Bash_ (Unix_shell)
- [7] Camel Case, Wikipedia, https: // lv.vikipēdija.org / wiki / Camel_case
- [8] Snake Case, Wikipedia, https: // lv.vikipēdija.org / wiki / Snake_case
- [9] Kas ir Bašs. https: // www.gnu.org / software / bash / manual / html_node / Kas-ir-Bash_003f.html
- [10] Mainīgo izmantošana vietnē Bash https: // opensource.com / article / 19/8 / using-mainīgie-bash
- Izpratne par Bash elementiem programmēšanā https: // www.linuxjournal.com / content / izpratne-bash-elements-programmēšana
- Bash mainīgie https: // www.javatpoint.com / bash-mainīgie