Variabler, indata och utdata
Lär Er att deklarera variabler, ta emot användarindata och hantera skriptutdata i skalskript.
Variabler, indata och utdata är en gratis lektion i Bemästra Linux-kommandoraden på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Bemästra Linux-kommandoraden, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Bemästra Linux-kommandoraden innehåller totalt 4 lektioner.
Vad är skriptvariabler?
I skalskript fungerar variabler som behållare för data. De gör skripten flexibla och återanvändbara.
I stället för att hårdkoda värden kan ni använda variabler för att lagra information som filnamn, användarinmatning eller tillfälliga resultat.
Deklarera och tilldela variabler
För att skapa en variabel tilldelar ni helt enkelt ett värde till ett namn. Inget särskilt nyckelord behövs!
- Använd
NAME="Coddy"(inga mellanslag runt=). - Värden som innehåller mellanslag behöver vanligtvis citattecken (enkla eller dubbla).
- Tal behöver inte strikt taget citattecken, men det är ofta en god vana för konsekvensens skull.
Åtkomst till variabelvärden
För att använda värdet som lagras i en variabel skriver ni tecknet $ före variabelnamnet.
Om ni till exempel deklarerade GREETING="Hello" använder ni $GREETING för att hämta ”Hello”. Ni kan även använda ${VARIABLE}, vilket är tydligare i komplexa situationer.
Tips för variabelnamn
Följ dessa enkla regler för variabelnamn:
- Börja med en bokstav eller ett understreck.
- Kan innehålla bokstäver, siffror och understreck.
- Undvik särskilda nyckelord i skalet.
- Vanlig praxis är att använda versaler för globala variabler och miljövariabler samt gemener för skriptlokala variabler.
Exempel: använda variabler
Vi ska titta på ett enkelt skript som deklarerar och använder en variabel.
Observera hur $MESSAGE hämtar den lagrade texten.
#!/bin/bash
# Declare a variable
MY_NAME="Coddy"
GREETING="Hello"
# Access and print variables
echo "$GREETING, $MY_NAME!"
# Update the variable
MY_NAME="Learner"
echo "Nice to meet you, $MY_NAME!"Hämta användarinmatning: `read`
Kommandot read är viktigt för att göra skript interaktiva. Det väntar på att användaren ska skriva något och trycka på Enter.
read VARIABLE: Lagrar inmatningen iVARIABLE.read -p "Prompt: " VARIABLE: Visar en fråga innan det väntar på inmatning.
Exempel: ta emot användarinmatning
Detta skript använder read -p för att fråga efter ert namn och hälsar sedan personligt på er.
Prova att köra det och ange ert namn!
#!/bin/bash
# Prompt for user's name and store it
read -p "What's your name? " USER_NAME
# Greet the user
echo "Hello, $USER_NAME! Welcome to CoddyKit."Skriptutdata: `echo` och `printf`
Ni har sett echo användas för grundläggande utdata. Det skriver helt enkelt ut sina argument följt av en radbrytning.
För större kontroll kan printf (liksom i C) skapa formaterad utdata med angivna datatyper och justering. Det lägger inte till någon radbrytning automatiskt, så använd \n.
Exempel: indata, utdata och variabler
Detta exempel kombinerar variabler, användarinmatning med read och formaterad utdata med printf.
Det beräknar en enkel summa utifrån er inmatning.
#!/bin/bash
# Declare a base number
BASE_NUM=10
# Get a number from the user
read -p "Enter another number: " USER_NUM
# Calculate the sum
# Use $((...)) for arithmetic operations
SUM=$((BASE_NUM + USER_NUM))
# Print the result using printf for formatting
printf "The sum of %d and %d is %d.\n" "$BASE_NUM" "$USER_NUM" "$SUM"Snabb kontroll
Studera följande utdrag ur ett skalskript:
#!/bin/bash
NAME="Alice"
read -p "Enter a city: " CITY
echo "Hello, $NAME from $CITY!"Om användaren skriver London och trycker på Enter, vad blir den slutliga utskriften?
Repetition: variabler, indata och utdata
Bra jobbat! Ni har lärt er grunderna i skalskript:
- Variabler lagrar data med
VAR="value". - Åtkomst till variabler sker med
$VAReller${VAR}. readhämtar användarinmatning, ofta med-pför en fråga.echoskriver ut enkla meddelanden.printferbjuder formaterad utdata.
Detta är byggstenar för dynamiska och interaktiva skript!
Lär dig Bemästra Linux-kommandoraden med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 12
- Lektioner
- 48
Vanliga frågor
Är lektionen ”Variabler, indata och utdata” gratis?
Ja – hela texten till ”Variabler, indata och utdata” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Bemästra Linux-kommandoraden, kan Ni uppgradera till CoddyKit PRO. Kursen i Bemästra Linux-kommandoraden innehåller totalt 4 lektioner.
Vad lär jag mig i ”Variabler, indata och utdata”?
Lär Er att deklarera variabler, ta emot användarindata och hantera skriptutdata i skalskript. Ni övar på Bemästra Linux-kommandoraden med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Bemästra Linux-kommandoraden?
Du behöver inga förkunskaper. Utbildningen i Bemästra Linux-kommandoraden på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.
Hur lång tid tar lektionen ”Variabler, indata och utdata”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Bemästra Linux-kommandoraden-lektionen?
Ja. Varje Bemästra Linux-kommandoraden-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Variabler, indata och utdata
- Villkorssatser: `if`, `else`, `case`
- Loopar: `for`, `while`, `until`
- Funktioner och argument i shellskript