Skrypty powłoki Linux
Napisano w Systemy Operacyjne
Tworzenie skryptu :
- W dowolnym edytorze tworzymy plik tekstowy z treścią skryptu,
- Nadajemy mu atrybut wykonywalności (chmod +x mojskrypt)
- wykonujemy jak program: ./mojskrypt
- Dokonujemy edycji skryptu jak każdego innego pliku tekstowego
Przykładowy, bardzo prosty skrypt może się składać z następujących poleceń:
#!/bin/bash
#Tu jest komentarz.
echo "Hello Worl
Pierwsza linia skryptu zaczynająca się od znaków: #! ma szczególne znaczenie – wskazuje na rodzaj powłoki, w której skrypt ma być wykonany. Tutaj skrypt zawsze będzie wykonywany przez interpreter poleceń/bin/bash, niezależnie od tego, jakiego rodzaju powłoki używamy w danej chwili. Znak # (hasz) oznacza komentarz – wszystko, co znajduje się za nim w tej samej linii, jest pomijane przez interpreter. echo “Hello World” Trzecia linia spowoduje wydrukowanie na standardowym wyjściu (stdout), czyli na ekranie, napisu: „Hello World”.
więcej na: https://rk.edu.pl/
Przykładowe skrypty:
Dzielenie:
!/bin/bash
echo "Podaj a="
read a
echo "Podaj b="
read b
if [ $b -eq 0 ]
then
echo "Bledne b"
else
w=$[$a/$b]
echo $w
fi
Kalkulator:
!/bin/bash
echo "dodawanie czy odejmowanie?"
select x in X Y
do
case $x in
"X")
echo "Podaj a="
read a
echo "POdaj b="
read b
w=$[$a+$b]
echo "Wynik $a+$b=$w"
;;
"Y")
echo "Podaj a="
read a
echo "Podaj b="
read b
w=$[$a-$b]
echo "Wynik $a-$b=$w"
;;
*) echo "nie wybrales nic"
esac
break
done
Największa z 3 liczb
!/bin/bash
echo "Podaj a="
read a
echo "Podaj b="
read b
echo "POdaj c="
read c
if [ $a -gt $b ] && [ $a -gt $c ] ; then
echo "Najwieksza to a=$a"
elif [ $b -gt $c ] ; then
echo "Najwieksza to b=$b"
else
echo "najwieksza to c=$c"
fi
Pętla for:
for x in 1 2 3 4 5 6 7 8 9
do
echo "nr = $x"
done
Lub
#!/bin/sh
for i in `seq 1 10`
do
echo ">> Iteracja nr: $i" done