1 Przygotował: mgr inż. Maciej Lasota

Podobne dokumenty
Wprowadzenie do programowania w powłoce

Bash - wprowadzenie. Bash - wprowadzenie 1/39

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

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

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

System operacyjny Linux

Powłoka (shell) Powłoka ksh

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

Interpreter poleceń oraz zmienne środowiskowe

pico mojskrypt bash mojskrypt chmod +x mojskrypt./mojskrypt

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

Pracownia Komputerowa wykład III

Technologie Informacyjne - Linux 3

Skrypty powłoki w systemie Linux

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

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

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

Powłoka interpreter poleceń systemu UNIX

Pracownia Komputerowa wykład III

Wstęp do Informatyki dla bioinformatyków

Tworzenie skryptu: Skrypty powłoki

PODSTAWY INFORMATYKI

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

POPULARNE POLECENIA SKRYPTY. Pracownia Informatyczna 2

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

Programowanie w BASH u Skrypt do ćwiczeń

Systemy operacyjne Programowanie w języku powłoki sh

Systemy operacyjne / Programowanie w języku powłoki sh str.1/19

Programowanie skryptów powłoki

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

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

Technologie Informacyjne - Linux 2

Środowisko programisty Zestaw 7

PRACOWNIA INFORMATYCZNA CHARAKTERYSTYKA PRZEDMIOTU BASH - PODSTAWOWE INFORMACJE

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

Powłoka bash. Kurs systemu Unix 1

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

Wstęp do systemu Linux

BASH - WPROWADZENIE Bioinformatyka 4

Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I

Podstawy programowania skryptów Sh

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

Pracownia Informatyczna I ORGANIZACJA ZAJĘĆ, ZASADY ZALICZENIA

Przekierowanie wejścia wyjścia:

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

1 Podstawy c++ w pigułce.

Pracownia Komputerowa wyk ad III

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

Podstawy programowania w Bash'u

Wstęp do systemu Linux

Ćwiczenie nr 14: System Linux

Programowanie komputerowe. Zajęcia 1

Programowanie w języku Python. Grażyna Koba

Strona1. Linux. Skrypty powłoki

Kurs pisania skryptów w powłoce BASH

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

Filtry, metaznaki, cytowania. Proste skrypty. Polecenia find, tee, mail.

- wszystkie elementy - wszystkie elementy

Umieszczanie kodu. kod skryptu

Zakład Systemów Rozproszonych

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Laboratorium Ubuntu Linux.

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

1 Podstawy c++ w pigułce.

2 Przygotował: mgr inż. Maciej Lasota

Systemy operacyjne 10

Znaki globalne w Linuxie

Trochę o plikach wsadowych (Windows)

Wiersz poleceń Windows

11. Wstęp do skryptów w Linuxie

Pracownia komputerowa. Dariusz wardecki, wyk II

JĘZYK SHELL JEST PEŁNYM JĘZYKIEM PROGRAMOWANIA

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

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

Systemy operacyjne 11

Uruchamianie programów w systemie Linux, potoki, strumienie, procesy, alias

SYSTEMY OPERACYJNE I laboratorium 3 (Informatyka stacjonarne 2 rok, semestr zimowy)

Prof. Danuta Makowiec Instytut Fizyki Teoretycznej i Astrofizyki pok. 353, tel danuta.makowiec at gmail.com

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

Wprowadzenie do Scilab: podstawy języka Scilab

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

Powłoka, redyrekcja, potok

Narzędzia informatyczne w językoznawstwie

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

Podstawy użytkowania Linux a

Wyrażenia regularne. Wyrażenia regularne 1/41

TEMAT : System operacyjny MS DOS pliki wsadowe

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Bash, skrypty. Wojciech Dudek. 15 listopada Uniwersytet Warszawski

Programowanie w Turbo Pascal

Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania

PODSTAWOWE INFORMACJE NA TEMAT KONSOLI W SYSTEMIE WINDOWS

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Wstęp do systemów wielozadaniowych laboratorium 14 Środowisko i aliasy

Metody numeryczne Laboratorium 2

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Należy ściągnąć oprogramowanie Apache na platformę

Blockly Kodowanie pomoc.

Transkrypt:

Laboratorium nr 1 1/7 Język C Instrukcja laboratoryjna Temat: Programowanie w powłoce bash (shell scripting) 1 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do programowania w powłoce Skrypt powłoki (skrypt wsadowy) to zbiór komend danej powłoki zapisany w postaci pliku z atrybutami wykonywania. Skrypty tworzymy w standardowych plikach tekstowych typu ASCII, zawierają one komendy powłoki wraz z dodatkowymi zmiennymi, instrukcjami sterującymi np. instrukcjami warunkowymi, pętlami itp.. Tak stworzone skrypty wykonywane (interpretowane) są przez powłokę danego systemu operacyjnego. Ponieważ w systemach operacyjnych z rodziny Unix/Linux dostępnych jest kilka rodzajów powłok (sh, csh, ksh, zsh, bash) każda z nich w inny sposób interpretuje skrypty. UWAGA!!! Powłoki systemowe nie zawsze są ze sobą kompatybilne składniowo. Jedną z najpopularniejszych i najczęściej spotykanych powłok w systemach uniksowych jest bash. Jest ona domyślną powłoką w większości dystrybucji systemu Unix/Linux oraz w systemie Mac OS X od wersji 10.3, istnieją także wersje dla środowiska Cygwin dla systemów Win32. Powłoka bash umożliwia pracę interaktywną i wsadową (skrypty). Składania powłoki bash umożliwia definiowanie zmiennych, stałych, tablic, aliasów, funkcji i podprogramów, posiada konstrukcje sterujące (if, case, while, for) oraz wiele innych dodatkowych funkcji pozwalających na pisanie zaawansowanych skryptów. 2) Tworzenie pliku tekstowego Jak już zostało wspomniane skrypt powłoki tworzymy w zwykłym standardowym pliku tekstowym. Do stworzenie pustego pliku tekstowego w systemach z rodziny Unix/Linux, możemy wykorzystać np. komendę touch. touch mojskrypt.sh UWAGA!!! Zazwyczaj pliki będące skryptami powłoki mają rozszerzenie *.sh, jest to zasada umowna.

Laboratorium nr 1 2/7 3) Ogólna składnia skryptu powłoki Podstawowy szkielet skryptu powłoki został przedstawiony poniżej: # Nagłówek (może być #!/bin/sh lub #!/bin/bash) # określa nam powłokę która ma wykonywać nasz skrypt #!/bin/bash # Cześć deklaracyjna, w części tej mogą znajdować się # zadeklarowane zmienne, stałe, tablice, funkcje, itd. echo Witaj # Komentarze w skrypcie poprzedzamy znakiem # hash'a Aby uruchomić i zaprezentować działanie tak stworzonego skryptu powłoki, należy nadać mu odpowiednie systemowe prawa wykonywania. Atrybuty wykonywania dla pliku można nadać za pomocą polecenia chmod. Polecenie to przyjmuje tzw. maskę określającą prawa w postaci 3 liczb (dla właściciela, grupy i pozostałych) oraz nazwę pliku. chmod 755 mojskrypt.sh UWAGA!!! Więcej informacji na temat nadawania atrybutów plikom i katalogom można znaleźć w podręcznikach systemowych tzw. manualach man chmod Skrypt powłoki wykonujemy (uruchamiamy) wpisując./mojskrypt.sh lub sh mojskrypt.sh. Wszystko umieszczone po znaku # aż do końca linii jest komentarzem. Pierwszy wiersz pliku powinien wyglądać następująco: #!/bin/bash. Polecenie echo służy do wyświetlania danych (komunikatów) na ekranie monitora. 3.1) Zmienne Zmienne w skryptach deklarujemy w następujący sposób: nazwa_zmiennej= wartość zmiennej

Laboratorium nr 1 3/7 Jako wartość możemy podać liczbę, napis lub polecenia systemowe, polecenia podajemy w postaci odwrotnych apostrofów `polecenie` lub $(polecenie). Do zmiennej odwołujemy się poprzez znak dolara $. 3.2) Zmienne specjalne Zmienne specjalne (predefiniowane), są często wykorzystywane w skryptach powłoki (zazwyczaj są tylko do odczytu). Zmienne -> $0 zmienna zawiera nazwę danego skryptu, $1...$9 - parametry zewnętrzne przekazywane do skryptu (od 1 do 9), $@ - zmienna zawiera wszystkie parametry przekazywane do skryptu, @? - zmienna przechowuje kod powrotu ostatnio wywołanego polecenia (0 oznacza poprawne wykonanie polecenia), $$ - PID procesu bieżącej powłoki. 3.3) Instrukcje warunkowe Instrukcja warunkowa IF: if warunek then polecenie fi lub IF-ELSE: if warunek then polecenie 1 else polecenie 2 else polecenie 3 fi

Laboratorium nr 1 4/7 Instrukcja warunkowa (wyboru) CASE: case $zmienna in wzorzec1 ) polecenie1 (break/continue/exit);; wzorzec2 ) polecenie2 (break/continue/exit);; *) polecenie (break/conitnue/exit);;... esac 3.4) Instrukcje pętli Instrukcja pętli WHILE: while warunek do polecenie... done Instrukcja pętli FOR: for zmienna in arg1 arg2 arg3... do polecenie done 3.5) Tablice Deklaracja tablicy: zmienna=(wartość1 wartość2 wartość3...) echo ${tablica[*]} wyświetlanie wszystkich elementów tablicy, echo ${#tablica[0]} wyświetlanie długości znaków podanego elementu, echo ${#tablica[@]} wyświetlanie liczby wszystkich elementów w tablicy.

Laboratorium nr 1 5/7 unset tablica[6] usuwanie elementu, echo ${tablica[*]} tablica[6]=tekst przypisywanie elementu, tablica[7]=tekst2 echo ${tablica[*]} unset tablica[*] usuwanie całej tablicy echo ${tablica[@] 3.6) Przekierowania i strumienie pwd > plik.txt # zapisanie ścieżki do pliku more < plik.txt # wyświetlenie pliku na ekranie cat plik1.txt > plik2.txt # zpisanie pliku1.txt do pliku2.txt ls *.txt >> plik3.txt # dopisanie do pliku3.txt ps aux more # wysłanie strumienia danych do programu more ps aux grep apache # wysłanie strumienia danych do programu grep ps aux grep cron sort > plik.txt

Laboratorium nr 1 6/7 3.7) Wyświetlanie i wczytywanie danych W celu wyświetlanie danych na ekranie monitora (standardowe wyjście) wykorzystujemy polecenie echo: echo -n Tekst do wyświetlenia echo -e \t Tekst do wyświetlenia i dodatkowo zmienna $a \n\n Rodzaje parametrów: -n nie wysyła znaku końca linii (brak przejścia do nowej linii), -e włącza interpretację parametrów wewnątrz tekstu, Rodzaje parametrów wewnątrz tekstu: \n - przejście do nowej linii, \a alert (dzwonek), \b - backspace, \c - pomija znak końca nowej linii, \f - escape, \r - znak nowej linii, \t tabulacja, \\ - backslash. W celu wczytania danych do zmiennej wykorzystujemy polecenie read : read [operator][zmienna] read a b echo $a echo $b read -e echo $REPLY

Laboratorium nr 1 7/7 Rodzaje operatorów: -a pokaż znak zachęty bez kończącego znaku nowej linii, -p wczytywanie danych do tablicy, -e jeśli nie podano żadnej zmiennej dane trafią do zmiennej systemowej $REPLY.