Upload
hiero
View
56
Download
3
Embed Size (px)
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
OPERATIVSYSTEM OCH PRAKTISK LINUXFöreläsning 8 – Vecka 5 2011
INNEHÅLLKommandotolken Bash
KonfigurationsfilerInbyggda kommandonMiljövariabler
Bash-skriptVariablerIf-satser
BashBash ä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: KonfigurationsfilerViktiga 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 kommandonDet 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övariablerMiljö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:
Variabel Innehåll
HOME Den absoluta sökvägen till användarens hemkatalog
HOSTNAME Namnet på datorn
PATH Sökvägen till de kataloger där kommandotolken letar efter körbara program, ex /usr/bin /usr/sbin
Bash: Skapa miljövariablerEn 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övariablerOm 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: shellskriptKommandotolken ä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: shellskriptDet ä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: shellskriptEtt 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: VariablerFörutöver att bara stapla upp kommandon efter varandra kan man också i ett skript skapa variabler:
variabelnamn=värde
Exempel:Name = KalleAge = 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ändarenMan 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/bashecho $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-satserUppställning av if-satser i Bash:
if testthen
rad1rad2
fi
if testthen
rad1else
rad2fi
Bash-skript: if-satserUppställning av if-satser i Bash:
if testthen
rad1rad2
elseif testrad3
elserad4
fi
Bash-skript: if-satserTest-delen av ifsatsen (se föregående slide) ser i bash ut så här:
Test Tal Sträng Engelska
Är A och B lika? A –eq B A == B Equals
Är A mindre än B? A -lt B A < B Less than
Är A mindre än eller lika med B?
A –le B Less than or equal
Är A större än B? A –gt B A > B Greater than
Är A större än eller like med B?
A – ge B Greater than or equal
Är A olikt B? A –ne B A != B Not equal