170 likes | 326 Views
INNEHÅLL Kommandotolken Bash Konfigurationsfiler Inbyggda kommandon Miljövariabler Bash-skript Variabler If-satser. OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 8 – Vecka 5 2011. Bash . Bash är den kommandotolk som idag används som standard under Linux
E N D
INNEHÅLL Kommandotolken Bash Konfigurationsfiler Inbyggda kommandon Miljövariabler Bash-skript Variabler If-satser OPERATIVSYSTEM OCH PRAKTISK LINUXFöreläsning 8 – Vecka 5 2011
Bash Bash är den kommandotolk som idag används som standard under Linux Bash står för Bourne again shell vilket på svenska betyder ungefär: På-nytt-fött skal Bash är baserat på bourne shell skalet
Bash : Konfigurationsfiler Viktiga konfigurationsfiler för Bash är: profile .bshrc .bash_profile .inputrc Inputrc .bash_logout (filer som börjar med . är dolda filer, kan listas med ls –la)
Bash : Konfigurationsfiler /etc/profile Här görs inställningar som gäller alla användare som loggar in Denna fil existerar inte längre i Ubuntu .bashrc Personlig konfigurationsfil för bash Är placerad i användarens hemkatalog Här görs inställningar som endast gäller den specifika användaren .bash_profile Personlig konfigurationsfil för Bash, som är placerad i användarens hemkatalog Innehåller personliga inställningar (t.ex. Alias eller miljövariabler) Körs endast om Bash körs som ett log-inskal, dvs om användaren loggar in på kommandotolken men användarnamn och lösenord
Bash : Konfigurationsfiler .inputrc Används i vissa situationer för att hantera tangenbordsuppsättningen .bash_logout Ett personligt skript som körs när användaren loggar ut Finns i användarens hemkatalog
Bash : Inbyggda kommandon Det finns en mängd olika inbyggda kommandon i bash, här en lista på en del av dem: Echo Exec Set Test Help Type Ulimit Umask ...
Bash : Miljövariabler Miljövariabler används för att spara information till ett senare tillfälle eller för att vidarebefodra dem till program eller skript som skall köras Miljövariabler som finns på den lokala datorn och i körande kommandotolk kan listas i de flesta Linux-system med kommandot: set (printenv i Ubuntu) Typiska miljövariabler som alltid är satta och som har samma funkionalitet i de flesta kommandoskal:
Bash : Skapa miljövariabler En miljövariabel är väldigt enkel att skapa, exempel: MUSIK=/home/karlssoj/nerladdadMusik Raden ovan skrivs direkt på kommandotolken och den skaper en variabel MUSIK som innehåller sökstigen till en katalog där användaren karlssoj sparar all sin musik Observera att en miljövariabel man skapar själv försvinner genast man stänger kommandotolken, den syns inte heller i ett annat kommandotolksfönster För att få en egen miljövariabel att stanna kvar är det bäst att initiera den i någon av kommandotolkens startfil, t.ex. .bash_profile eller .bashrc
Bash : Exportera miljövariabler Om man vill att en miljövariabel skall vara åtkomlig även i andra kommandotolksfönster kan man använda kommandet export, exempel: export MUSIK=/home/karlssoj/nerladdadMusik
Bash : shellskript Kommandotolken är i sig självt ett kraftfullt programmeringsspråk I kommandotolken kan man skriva enklare procedurer likaväl som mer komplicerade program Många av de program och kommandon man kör från kommandotolken är i själva verket shellskript En av de grundläggande filosofierna i Unix är att man ska skriva små enkla program som kan samarbeta Genom att stapla programmen ”på varandra” kan man sedan utföra de mest fantastiska uppgifter!
Bash : shellskript Det är många saker man gör i Linux systemet som utförs många gånger Då kan det vara trevligt att automatisera genomförandet genom att göra ett skript Ett shellskript är en vanlig textfil dit man placerar en mängd olika kommandon efter varandra För att kunna köra ett shellskript måste texfilen där skriptet finns ha exkeverignsrättigheter
Bash : shellskript Ett typiskt shellskript börjar med följande rad: #!/bin/bash Raden ovan berättar vilken kommandotolk vi ska använda när vi kör skriptet. Förövrigt använder man tecknet ’#’ för att sätta ut kommentarer i koden
Bash -skript: Variabler Förutöver att bara stapla upp kommandon efter varandra kan man också i ett skript skapa variabler: variabelnamn=värde Exempel: Name = Kalle Age = 55 För att senare i skriptet komma åt värdet av en variabel måste man sätta tecknet $ föra variabelnamnet: echo $Age #skriver ut 55
Bash -skript: Indata från användaren Man kan ta in parametrar till ett skript genom att anväda tecknet $ + en siffra engligt följande: $1 betyder första parametern $2 betyder andra paramtern ... Exempel (följande kodrader sparas i filen subtrahera): #!/bin/bash echo $1 - $2 Om vi kör skriptet från kommandoraden med parametrarna 1 och 1 får vi 0 ut på skärmen: subtrahera 1 1
Bash -skript: if-satser Uppställning av if-satser i Bash: if test then rad1 rad2 fi if test then rad1 else rad2 fi
Bash -skript: if-satser Uppställning av if-satser i Bash: if test then rad1 rad2 elseif test rad3 else rad4 fi
Bash -skript: if-satser Test-delen av ifsatsen (se föregående slide) ser i bash ut så här: