Skrypty Bash to jeden z najpopularniejszych i dostępnych sposobów programowania komputera z systemem Linux. Te proste przykłady skryptów pomogą Ci zrozumieć proces i wprowadzą Cię w podstawy programowania w języku Bash.
Spis treści:
1. Jak wydrukować Hello World w Bash
Przykład Hello World to świetny sposób na naukę dowolnego języka programowania, a Bash nie jest wyjątkiem.
Oto jak wydrukować „Hello World” przy użyciu Bash:
#!/bin/bash
Polecenie Shebang (#!/bin/bash) jest niezbędne, ponieważ powłoka używa go do decydowania o sposobie uruchomienia skryptu. W tym przypadku używa interpretera Bash.
echo "Hello World"
chmod +x hello_world.sh
./hello_world.sh
2. Utwórz katalog poprzez odczytanie danych wejściowych
Ze swoich skryptów możesz uruchomić dowolny program, który normalnie można uruchomić z wiersza poleceń. Na przykład możesz utworzyć nowy katalog ze swojego skryptu za pomocą polecenia mkdir.
#!/bin/bash
echo "Enter new directory name:"
read newdir
mkdir $newdir
3. Utwórz katalog za pomocą argumentów wiersza poleceń
Jako alternatywę dla interaktywnego odczytywania danych wejściowych, większość poleceń Linuksa obsługuje argumenty. Możesz podać argument podczas uruchamiania programu, aby kontrolować jego zachowanie.
W skrypcie możesz użyć $1, aby odwołać się do specjalnej zmiennej zawierającej wartość pierwszego argumentu. $2 będzie odnosić się do drugiego argumentu i tak dalej.
#!/bin/bash
mkdir $1
./arg_dir.sh Test
Być może zastanawiasz się, co się stanie, jeśli uruchomisz skrypt bez podania argumentu. Wypróbuj i zobacz; powinieneś otrzymać komunikat o błędzie rozpoczynający się od „usage: mkdir”:
Bez żadnych argumentów wiersza poleceń wartość 1 $ będzie pusta. Kiedy skrypt wywoła mkdir, nie przekaże mu argumentu, a polecenie mkdir zwróci ten błąd. Aby tego uniknąć, możesz samodzielnie sprawdzić warunek i przedstawić bardziej przyjazny błąd:
#!/bin/bash
if ["$1" = ""]; then
echo "Please provide a new directory name as the first argument"
exit
fi
mkdir $1
Po uruchomieniu nowej wersji skryptu otrzymasz komunikat, jeśli zapomnisz podać argument:
4. Usuń plik za pomocą funkcji Bash
Jeśli powtarzasz ten sam kod, rozważ zawinięcie go w funkcję. Następnie możesz wywołać tę funkcję, kiedy tylko zajdzie taka potrzeba.
Oto przykład funkcji usuwającej dany plik.
#!/bin/bash
del_file() {
echo "deleting $1"
rm $1
}
Następnie możesz wywołać funkcję i przekazać jej nazwę pliku do usunięcia:
del_file test.txt
Kiedy wywołasz funkcję, ustawi ona specjalny znak $? wartość ze statusem wyjścia ostatniego uruchomionego polecenia. Status wyjścia jest przydatny do sprawdzania błędów; w tym przykładzie możesz sprawdzić, czy polecenie rm powiodło się:
if [ $? -ne 0 ]; then
echo "Sorry, could not delete the file"
fi
5. Utwórz podstawowy kalkulator do obliczeń arytmetycznych
Ostatni przykład demonstruje bardzo prosty kalkulator. Po uruchomieniu wpiszesz dwie wartości, a następnie wybierzesz operację arytmetyczną, którą chcesz na nich przeprowadzić.
Oto kod calc.sh:
#!/bin/bash
echo "Enter first number: "
read aecho "Enter second number: "
read b
echo "Enter Arithmetic Operation Choice :"
echo "1. Addition"
echo "2. Subtraction"
echo "3. Multiplication"
echo "4. Division"
read choice
case $choice in
1)
result=`echo $a + $b | bc`
;;2)
result=`echo $a - $b | bc`
;;3)
result=`echo $a \* $b | bc`
;;4)
result=`echo "scale=2; $a / $b" | bc`
;;
esacecho "Result: $result"
Zwróć uwagę na użycie case… esac, które jest odpowiednikiem instrukcji switch w Bashu w innych językach. Umożliwia przetestowanie wartości — w tym przypadku zmiennej wyboru — względem kilku ustalonych wartości i uruchomienie powiązanego kodu.
Skrypt ten używa polecenia bc do wykonania każdego obliczenia.