Pracownia Komputerowa wykład III

Podobne dokumenty
Pracownia Komputerowa wykład III

Pracownia Komputerowa wyk ad III

Systemy operacyjne. Programowanie w shellu: BASH. Wydział Inżynierii Metali i Informatyki Przemysłowej

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

Pracownia komputerowa. Dariusz wardecki, wyk II

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

Bash - wprowadzenie. Bash - wprowadzenie 1/39

Wstęp do informatyki. stęp do informatyki Polecenia (cz.2)

1 Przygotował: mgr inż. Maciej Lasota

Temat zajęć: Tworzenie skryptów powłoki systemu operacyjnego.

System operacyjny Linux

Technologie Informacyjne - Linux 3

Architektura systemów informatycznych. Powłoka systemowa Architektura procesora

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

Powłoka interpreter poleceń systemu UNIX

Systemy operacyjne 11

Powłoka (shell) Powłoka ksh

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.

Wprowadzenie do programowania w powłoce

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

pico mojskrypt bash mojskrypt chmod +x mojskrypt./mojskrypt

Instrukcja SO powłoka BASH i skrypty powłoki Istotne jest zrozumienie działania narzędzia history powłoki BASH. Każde polecenie wprowadzone i

Skrypty BASH a. Systemy Operacyjne 2. Mateusz Hołenko. 4 października 2012

Powłoka bash. Kurs systemu Unix 1

Interpreter poleceń oraz zmienne środowiskowe

Wstęp do obsługi Linux a

Skrypty powłoki w systemie Linux

Tworzenie skryptu: Skrypty powłoki

12. Skrypty w Linux - funkcje, instrukcje sterujące i obliczenia arytmetyczne

Programowanie skryptów powłoki

Pracownia Komputerowa

Środowisko programisty Zestaw 7

POPULARNE POLECENIA SKRYPTY. Pracownia Informatyczna 2

PRACOWNIA INFORMATYCZNA CHARAKTERYSTYKA PRZEDMIOTU BASH - PODSTAWOWE INFORMACJE

Współczesne systemy komputerowe

Wstęp do systemu Linux

Laboratorium Ubuntu Linux.

K. Konopko; Skrypty powłoki. Skrypty powłoki. dr inż. Krzysztof Konopko

Systemy Operacyjne. Część II Zarządzanie/Administracja Systemem. 5: Skrypty. autor: mgr inż. Andrzej Woźniak

Strona1. Linux. Skrypty powłoki

Wstęp do systemu Linux

Podstawy programowania skryptów Sh

Ćwiczenie nr 14: System Linux

Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I

skrypt powłoki to plik tekstowy, rozpoczynający się sekwencją: pierwsza linia określa powłokę, w której wykonywany jest skrypt; druga to komentarz

Zakład Systemów Rozproszonych

BASH - WPROWADZENIE Bioinformatyka 4

PODSTAWY INFORMATYKI

Wprowadzenie do programowania shella (bash)

Wstęp do Informatyki dla bioinformatyków

Podstawy użytkowania Linux a

Niektóre katalogi są standardowymi katalogami zarezerwowanymi do użytku przez system. Znaczenie wybranych katalogów systemowych jest następujące:

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh.

Linuks skrypty Część teoretyczna

Programowanie w BASH u Skrypt do ćwiczeń

Technologie Informacyjne - Linux 2

Pracownia Informatyczna I ORGANIZACJA ZAJĘĆ, ZASADY ZALICZENIA

Skrypty startowe. Tryb interaktywny tryb logowania: nie logowanie: Tryb nieinteraktywny

Laboratorium 5 Podstawy budowy skryptów w systemie UNIX cz. 1

Systemy operacyjne na platformach mobilnych 2 Podstawy obsługi powłoki Bash

Zmienne środowiskowe: Ścieżka przeszukiwana komendą.

Systemy operacyjne. Instrukcja laboratoryjna. Ćwiczenie 1: Polecenia systemu UNIX/LINUX. Opracował: dr inż. Piotr Szpryngier

W pierwszej kolumnie wyświetlany jest identyfikator procesu (pid)

Proces instalacji systemu operacyjnego Linux Red Hat 7.3 (1)

Podstawy programowania w Bash'u

5. Linux - powłoka Kilka słów o powłoce Zmienne systemowe

Informatyka III : Instrukcja 1

- wszystkie elementy - wszystkie elementy

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak

Programowanie w języku Python. Grażyna Koba

Technologie informacyjne lab. 4

1. shell co to i co umożliwia, jakie są shell e. 2. skrypty powłoki. crone dr inż. Anna Zatwarnicka Skrypty i crone

Systemy operacyjne 10

Podstawy informatyki

PODSTAWY INFORMATYKI

Bash i algorytmy. Elwira Wachowicz. 20 lutego

Czas już najwyższy na przykład: "Napisz program który wypisze słowo podane w parametrze, obecny czas oraz nazwę użytkownika uruchamiającego skrypt"

Wstęp do obsługi Linux a

Systemy operacyjne. Laboratorium 1. Podstawy oraz powłoka BASH

Kurs pisania skryptów w powłoce BASH

Instrukcja korzystania z Virtual Box-a i SQLPLUS-a

Powłoka, redyrekcja, potok

chmod +x skrypt /bin/bash nazwa_skryptu ZMIENNA=123 ZMIENNA="wartość tekstowa" SCIEZKA="$HOME/plik" echo $SCIEZKA

Wprowadzenie do tworzenia skryptów dla bash

Trochę o plikach wsadowych (Windows)

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Pracownia Komputerowa wykład II

Skanowanie podsieci oraz wykrywanie terminali ABA-X3

JAVA?? to proste!! Autor: wojtekb111111

pozwalają na umieszczenie wielu komend w jednym pliku (z atrybutem wykonywania) - udostępnia środowisko do konfigurowania systemu i programowania

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

Bash - instrukcje warunkowe, pętle i funkcje

Linux. dr Magdalena Posiadała-Zezula mgr Magdalena Grzeszczyk

Podstawy systemów UNIX

Tomasz Greszata - Koszalin

Umieszczanie kodu. kod skryptu

Algorytmika i Programowanie VBA 1 - podstawy

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Podstawy programowania skrót z wykładów:

Programowanie 1. Wprowadzenie do bash-a. Elwira Wachowicz. 06 lutego 2012

Transkrypt:

Pracownia Komputerowa wykład III dr Magdalena Posiadała-Zezula dr Jan Suffczyński 1

Powłoki - rodzaje! W Linux ie mamy kilka powłok do wyboru:! sh : Bourne Shell, oryginalna powłoka systemu unix! csh : C shell, nowa składnia polecen, udogodnienia w pracy interakcyjnej! ksh : Korn shell, zgodnosc składniowa z powłoka Bourne a +m.innymi udogodnienia jak w powłoce csh! bash : Bourne Again Shell, połaczenie najlepszych cech csh i ksh! tcsh : udoskonalona wersja csh 2

Powłoki! Typ powłoki definiuje administrator systemu w pliku z hasłami! Obecnie każdy użytkownik w OKWF ma standardowo ustawioną powłokę bash (zmienna $SHELL)! Standardowo uruchamiane skrypty:! przy logowaniu: /etc/profile i./bash_profile! start powłoki:./bashrc 3

POWŁOKA BASH -Bourne Again Shell (1)! Bash to skrót od wyrazów Bourne Again Shell. Powłoka ta jest dostępna za darmo i jest domyślną powłoką systemu Red Hat Linux! Dokańczanie poleceń- dzięki niej nie trzeba wpisywać pełnej nazwy programu (ścieżki do katalogu, pliku itp) lub znać jego dokładnej nazwy. Wystarczy, wpisać jego pierwszą literkę i wcisnąć klawisz TAB. 4

POWŁOKA BASH -Bourne Again Shell (2)! Historia poleceń - Bash zapamiętuje wydane przez użytkownika polecenia, dzięki temu za pomocą klawiszy kursora (góra - dół), można szybko przywołać polecenie, które zostało wcześniej wydane.! Lista wydanych przez użytkownika poleceń jest ładowana z pliku historii, który domyślnie nosi nazwę.bash_history.! Parametry nazwy pliku historii oraz ilości przechowywanych w nim ostatnio wydanych poleceń ustalają zmienne HISTFILE oraz HISTSIZE powłoki.! Aby obejrzeć na ekranie dostępne z historii polecenia wystarczy użyć polecenia:! history 5

Zmienne! Zmienne służą do określania konfiguracji powłoki i są one dostępne dla wszystkich procesów potomnych. Wszystkie dostępne zmienne można wylistować poleceniem: printenv more! Najbardziej użyteczne zmienne powłoki:! HOME określa pełną scieżkę katalogu domowego,! USER- określa nazwę zalogowanego użytkownika! PATH - ścieżka przeszukiwania,! PWD - określa nazwę bieżącego katalogu,! HOSTNAME - nazwa komputera,! Wszystkie zmienne tracą ważność po wylogowaniu się i aby były dostępne za każdym razem, trzeba je dodać do plików konfiguracyjnych bash a. 6

Pisanie skryptów w Bash-u (1)! Wszystkie shelle oferują rodzaj języka skryptowego. Za jego pomocą można pisać różne rodzaje skryptów: od tych prostych, które ograniczają się do wykonania serii poleceń, do bardzo skomplikowanych, zawierających różne pętle, warunki itp.! Skrypty można pisać we wszelkiego rodzaju edytorach tekstu. Jest to zwykły plik tekstowy, ale zawierający w pierwszej linijce : #!/bin/bash! Kolejne programy wywołuje się przez wpisanie ich kolejno do tego pliku.! Powłoka zakłada, że każda linia to osobne polecenie! Komentarze zaczynają się od znaku # 7

Pisanie skryptów w Bash-u (2)! Aby taki skrypt można było uruchomić, należy nadać mu atrybut wykonywalności, np. poleceniem! chmod u+x skrypt.sh! Tak przygotowany skrypt uruchamia się jak każdy inny program tzn. :!./skrypt.sh 8

Zmienne w skryptach (1)! W skryptach powłoki można definiować tzw. zmienne, czyli wartości przypisane do nazwy.! Zmienne definiuje się tak:! ZMIENNA=123! ZMIENNA="wartość tekstowa! Przypisanie do zmiennej wartości tekstowej tak jak powyżej będzie powodowało "rozwijanie" zmiennych. Oznacza to, że jeśli między cudzysłowy użytkownik wpisze zmienną w postaci $ZMIENNA1, to zmienna, do której chcemy to przypisać, będzie zawierała wartość zmiennej ZMIENNA1 9

Zmienne w skryptach (2)! Bash oferuje sporo pre-definiowanych zmiennych. Oto ich skrócona lista:! $0 - ścieżka do skryptu - dokładnie taka, z jaką wywołano ten skrypt.! $1, $2... - zmienne, które zawierają wartość kolejnych parametrów podanych do skryptu.! $# - liczba argumentów skryptu. 10

Pisanie skryptów- przykład 1 Utworzyć skrypt o nazwie przyklad1.sh: #!/bin/bash # (Tu jest komentarz) definuje w jakiej powłoce będzie uruchamiany skrypt echo "Pierwszy program pwd! Zmienić prawa dostępu pliku przyklad1.sh aby móc go wykonywać! Uruchomić w terminalu przyklad1.sh ->./przyklad1.sh 11

Pisanie skryptów- przykład 2! #!/bin/bash echo "Witam. Twoj login to $USER" echo "Lista plików w bieżącym katalogu, $PWD" ls # wypisz listę plików 12

Pisanie skryptów- przykład 3 pętla for! #!/bin/sh! for (( i=1; $i <= 10; i++ )) ; do! echo " Iteracja nr: $i"! done 13

Pisanie skryptów- parametry! Odwoływanie się do argumentów z linii komend :! #!/bin/sh! echo nazwa skryptu to $0! echo pierwszy argument to $1! echo drugi argument to $2! echo siedemnasty argument to $17! echo ilość argumentów to $# 14

Pisanie skryptów- przykład 4 parametry! Kod skryptu skrypt.sh! #!/bin/sh! mkdir $1 - $1 to pierwszy parametr podany podczas uruchamiania skryptu zaraz po jego nazwie! mkdir $2! ls ltr! Uruchamiamy skrypt z parametrami wejściowymi!./skrypt nazwa_kat1 nazwa_kat2 15

Warunkipolecenie test (1)! Do sprawdzania warunków służy polecenie test! Polecenie test zwraca wartość 0 (true) jeśli warunek jest spełniony i wartość 1 (false) jeśli warunek nie jest spełniony! Uwaga! Nie można skryptom nadawać nazwy test! Nie będą działać. Składnia: test wyrażenie1 operator wyrażenie2 lub może być zapisane w postaci nawiasów kwadratowych: [ wyrażenie1 operator wyrażenie2 ] Uwaga! Między nawiasami a treścią warunku muszą być spacje, tak jak powyżej. 16

Opcje polecenia test (2) Operacje na systemie plików -b plik istnieje i jest blokowym plikiem specjalnym -c plik istnieje i jest plikiem znakowym -d katalog istnieje -e plik istnieje -f plik istnieje i jest plikiem zwykłym -h plik istnieje i jest linkiem symbolicznym -r plik można czytać -w plik można zapisywać -x plik można wykonywać plik1 -nt plik2 plik1 jest nowszy od pliku2 plik1 -ot plik2 plik1 jest starszy od pliku2 wiecej na man bash. 17

Opcje polecenia test (3) Operacje arytmetyczne: -eq równy (equal to) -ne różny (not equal to) -lt mniejszy niż (less than) -le mniejszy lub równy (less than or equal to) -gt większe niż (greather than) -ge większe lub równe (greather or equal to) Operacje operujące na łańcuchach znakowych = równy!= różny < pierwszy tekst alfabetycznie przed drugim > pierwszy tekst alfabetycznie za drugim -n wyrażenie ma długość większą niż 0 -z wyrażenie ma zerową długość [ $x = "" ] Więcej przykładów man test, man bash 18

Instrukcja if (1) Sprawdza czy warunek jest prawdziwy, jeśli tak to wykonane zostanie polecenie znajdujące się po słowie kluczowym then. Instrukcja kończy się słowem fi. Składnia: if warunek then polecenie fi Przykład: #!/bin/bash if [ -e ~/.bash_history ] then echo "Masz plik.bash_history fi 19

Instrukcja if (2) Inny zestaw poleceń, które umieszczamy po słowie kluczowym else: Składnia: if warunek then polecenie1 else polecenie2 fi Przykład: #!/bin/bash if [ -e ~/.bash_history ] then echo "Masz plik.bash_history else echo "Nie masz pliku.bash_history fi 20

Testowanie dowolniej ilości warunków- elif (1) Można też testować dowolną ilość warunków, jeśli pierwszy warunek nie będzie prawdziwy, sprawdzony zostanie następny, kolejne testy warunków umieszczamy po słowie kluczowym elif. Składnia: if warunek then polecenie1 elif warunek then polecenie2 fi 21

Testowanie dowolniej ilości warunków- elif Można też testować dowolną ilość warunków, jeśli pierwszy warunek nie będzie prawdziwy, sprawdzony zostanie następny, kolejne testy warunków umieszczamy po słowie kluczowym elif. Przykład: #!/bin/bash if [ -x /opt/kde/bin/startkde ]; then echo "Masz KDE w katalogu /opt" elif [ -x /usr/bin/startkde ]; then echo "Masz KDE w katalogu /usr" elif [ -x /usr/local/bin/startkde ]; then echo "Masz KDE w katalogu /usr/local" else echo "Nie wiem gdzie masz KDE" fi 22

Koniec 23