Det yttersta lagret av operativsystemet Unix kallas skalet . Skalet är ett gränssnitt mellan användaren och operativsystemet. Du kan programmera skalet för att automatisera grundläggande uppgifter . Unix erbjuder flera format skalprogrammering som följer en gemensam grundmönster . C-skalet , Korn Shell , Bourne Shell och GNU : s bash är populära skriptspråk . Ett skript är ett program som tolkas av skalet . De manus innehåller variabler . Du tilldelar värden till variablerna och komma åt dem vid behov . Unix miljö
Unix och Unix -liknande system , blir skalet användarmiljön . En process har sin egen miljö. En körbar Programmet accepterar argumenten från dess kommandorad . Dessa argument är dess miljövariabler och ockupera minne i processen miljö rymden . Variablerna i ett script är också miljövariabler och upptar uppgifter utrymme på processen stacken . Här är det kör skalskript processen . Därför , på högre nivå , stärker processen miljön någon gräns för antalet variabler och utrymme som dem . Addera skalvariabeln
Definiera en variabel i en shell script genom att tilldela ett värde till den . Det finns inga datatyper i ett script . Variabeln kan ta något värde teckensträng eller godtyckliga numeriska värden . När du tilldelar värdet till en skalvariabel allokerar systemet tillräckligt med minne för att lagra värdet . Syntaxen varierar med operativsystem och skal typ . Till exempel i Korn-skal , skulle du tilldela värden så här: $ MyVar = " ABCD123 " In C Shell , syntax är följande : set MyVar = " ABCD123 "
Teoretiskt , det finns ingen gräns på storleken av det variabla värdet . Däremot kan som nämnts i avsnitt 1 , operativsystemet resurser och process miljö utrymme vid run -time potentiellt förneka det utrymme som krävs för en mycket lång värde .
Computing storleken på en Shell variabel
beräknar storleken på skalvariabeln MyVar enligt följande : $ MyVar_len = $ { # MyVar }
följande uttalande ekar storlek i en sentence.echo " What a lång variabel. Längden på min variabel är " + $ { # MyVar } + " " Utgången kommer att se ut så här : . Vilken lång variabel . Längden på min variabel är 7 .
Storleksbegränsningar
operativsystem och skaltypens införa en gräns för längden på variabelnamnet . Typiskt namnet inte bör vara mer än 20 tecken långt. Detta är en bra begränsning eftersom några längre namn kommer att påverka läsbarheten av skriptet . Skalet begränsar också längden av ett ord i värde. Ett ord är en teckensträng utan mellanslag . Värdet på en variabel kan vara en grupp av ord med mellanslag däremellan. En variabel kan också hålla en array .
Bra programmering praxis
p Det är inte en god praxis att tilldela mycket långa värden till skalvariabler . Om skriptet behandlar en ström av data , bör det läsas från och skrivas till en temporär fil . Läs eller skriv några byte i taget i en loop tills du når slutet av filen .