Powłoka (shell) Powłoka ksh

Podobne dokumenty
Powłoka interpreter poleceń systemu UNIX

1 Przygotował: mgr inż. Maciej Lasota

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

Powłoka bash. Kurs systemu Unix 1

Interpreter poleceń oraz zmienne środowiskowe

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

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

System operacyjny Linux

Pracownia Komputerowa wykład III

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

Wprowadzenie do programowania w powłoce

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

pico mojskrypt bash mojskrypt chmod +x mojskrypt./mojskrypt

Bash - wprowadzenie. Bash - wprowadzenie 1/39

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

Tworzenie skryptu: Skrypty powłoki

Pracownia Komputerowa wykład III

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

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

Środowisko programisty Zestaw 7

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

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

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

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

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

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

Systemy operacyjne Programowanie w języku powłoki sh

Strona1. Linux. Skrypty powłoki

POPULARNE POLECENIA SKRYPTY. Pracownia Informatyczna 2

Pracownia Komputerowa wyk ad III

- wszystkie elementy - wszystkie elementy

Skrypty powłoki w systemie Linux

Programowanie skryptów powłoki

PRACOWNIA INFORMATYCZNA CHARAKTERYSTYKA PRZEDMIOTU BASH - PODSTAWOWE INFORMACJE

PODSTAWY INFORMATYKI

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

Podstawy programowania skryptów Sh

Technologie Informacyjne - Linux 3

Linuks skrypty Część teoretyczna

Przekierowanie wejścia wyjścia:

Systemy operacyjne 11

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

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

Podstawy informatyki

Pracownia komputerowa. Dariusz wardecki, wyk II

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

BASH - WPROWADZENIE Bioinformatyka 4

PODSTAWY INFORMATYKI

Bash - instrukcje warunkowe, pętle i funkcje

Programowanie w BASH u Skrypt do ćwiczeń

Operatory zmiany sposobu przypisania standardowych strumieni >,<,>> Jeżeli pierwsze polecenie powiodło się to wykona drugie

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

Pracownia Informatyczna I ORGANIZACJA ZAJĘĆ, ZASADY ZALICZENIA

Bash, skrypty. Wojciech Dudek. 15 listopada Uniwersytet Warszawski

Wstęp do obsługi Linux a

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

Zakład Systemów Rozproszonych

Wstęp do Informatyki dla bioinformatyków

Bash i algorytmy. Elwira Wachowicz. 20 lutego

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

Ćwiczenie nr 14: System Linux

Systemy operacyjne 10

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

Technologie Informacyjne - Linux 2

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

Wprowadzenie do programowania shella (bash)

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

Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I

Przedmiot: SYSTEMY OPERACYJNE Czas trwania: semestr IV Przedmiot: obowiązkowy Język wykładowy: polski POZIOM

1. Znajdź za pomocą programu locate wszystkie pliki które zawierają w nazwie słowo netscape locate netscape

Podstawy programowania w Bash'u

Laboratorium Ubuntu Linux.

Wprowadzenie do Scilab: podstawy języka Scilab

Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop

Linux Polecenia. Problem nadpisywania plików. Zmienna noclobber i noglob. Filtry i metaznaki. Problem nadpisywania plików. Opracował: Andrzej Nowak

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

Trochę o plikach wsadowych (Windows)

Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix

Kurs pisania skryptów w powłoce BASH

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

Systemy operacyjne Operating Systems

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

Wstęp do obsługi Linux a

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

Systemy operacyjne Skrypt do ćwiczeń laboratoryjnych

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

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

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ć

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

#!/bin/sh. if [ "$#"!= "1" ]; then echo "Skrypt uruchamiany z parametrem (sciezka do katalogu)" exit 1 fi

Polecenia wewnętrzne:

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

Technologie informacyjne lab. 4

System operacyjny Linux

Technologie Informacyjne - Linux 1

Wstęp do systemu Linux

Programowanie w Bashu

Kurs systemu Unix wykład wstępny. Kurs systemu Unix 1

I. SYSTEM PLIKÓW... 2 MORE... 2 PG... 2 HEAD / TAIL... 2 CAT... 2 PRZEKIEROWANIE STANDARDOWEGO WEJŚCIA / WYJŚCIA... 2 SORT...

KARTA KURSU. Języki skryptowe

Transkrypt:

Powłoka (shell) Powłoka - interface między użytkownikiem a systemem operacyjnym. Funkcje: interpreter poleceń użytkownika język programowania poleceń Najczęściej stosowane powłoki: Bourne a sh Korna ksh C csh Powłoki public main: bash, zsh, tcsh Linia komentarza: # komentarz Powłoka ksh Słowo: ciąg znaków między spacjami Komenda: ciąg słów postaci: nazwa_komendy parametry Komenda zwraca status wyjścia Potok: ciąg jednej lub wielu komend oddzielonych znakiem, np. ls sort more Lista: ciąg potoków/komend oddzielonych (i ew. zakończonych) znakami nowej linii lub znakami: ; - wykonanie sekwencyjne & - wykonanie asynchroniczne Wartością zwracaną przez potok/listę jest wartość zwracana przez ostatnią komendę potoku/listy

Zmienne powłoki Zmienne powłoki deniujemy instrukcją przypisania zmienna=wartosc Dostęp wartości zmiennych powłoki $zmienna lub ${zmienna} Przykłady: system=unix echo To jest system $system N=2 nazwa=dane cp ${nazwa}$n kopie\ Przykłady zmiennych predeniowanych: # liczba parametrów pozycyjnych $1, $2,... kolejne parametry pozycyjne? status zwrócony przez ostatnią komendę! numer ostatnio uruchomionego procesu w tle $ nr procesu powłoki PPID nr procesu rodzicielskiego powłoki HOME prywatny katalog użytkownika PWD aktualny katalog OLDPWD poprzedni katalog PATH ścieżka stępu PS1, PS2, prompt EDITOR używany edytor ASCII (vi lub emacs) MAIL plik zawierający pocztę TERM nazwa używanego terminala SHELL używana powłoka RANDOM liczba losowa SECONDS liczba sekund od uruchomienia powłoki LOGNAME nazwa użytkownika...

Zmienne powłoki mogą być lokalne - obowiązują tylko w danej powłoce śrowiskowe (eksportowane) - obowiązują również w powłokach potomnych Przykłady: $ xx=yyy $ xx=yyy $ export xx $ zsh $ zsh $ echo $xx $ echo $xx YYY Substytucje wykonywane przez powłokę aliasy alias lll= ls -l -a -F more lll ścieżka stępu pliku more ~janek/c/raport more /users/students/janek/c/raport ~ wartość zmiennej HOME ~+ " " PWD ~- " " OLDPWD wynik działania komendy ls -l grep $(who am i) cat ls tail -2 > last2 wyrażenia arytmetyczne let k=2 (( m=k+3 )) echo Wynik= $[m*k/2] (powłoka zsh) zmienne powłoki more $HOME/c/raport

generacja nazw plików ls [ao]la b*d * wolny ciąg znaków (także pusty)? wolny znak [ABCa-c] jeden ze znaków: A, B, C, a, b, c [^A-Z] wolny znak nie będący dużą literą (x y) x lub y x# powtórzenie wzorca x... Cytowanie (quoting) \x znak x... ciąg znaków "..." ciąg znaków (za wyjątkiem zmiennych powłoki i znaku \ ) Przykłady: echo \$HOME = $HOME echo X > Y echo "$HOME ----- > YY"

Konstrukcje sterujące języka powłoki Instrukcja warunkowa: if warunek if warunek elif warunek if warunek... else else Wyrażenia określające warunek Składnia: [[ wyrażenie_warunkowe ]] -a fname plik fname istnieje -d fname fname jest katalogiem -f fname fname jest zwykłym plikiem -w fname plik fname może byćzapisany -x fname plik fname można wykonać napis = wzorzec napis i wzorzec są zgodne wyr1 -eq wyr2 wartości wyrażeń wyr1 i wyr2 są równe (także: -ne -lt -gt -le -ge &&!) Przykład: if [[ -d $nn ]] rm $nn/* elif [[ -f $nn ]] rm $nn else echo Nie znaleziono pliku $nn

Instrukcja wyboru: case slowo in wzorzec1 ) ;; wzorzec2 ) ;;... esac Przykład case $ans in y* ) echo Yes ;; n* ) echo No ;; * ) echo Maybe ;; esac

Pętle: for zmienna [ in słowo... ] Przykłady for plik in *.txt head -1 $plik >> naglowki ol=""; for i in 0 1 2 3 4 5; ol=${i}${ol}; ; echo $ol while warunek until warunek Przykłady let x=0 while [[ $x -lt 10 ]] echo x = $x (( x=x+1 )) while who grep szef sleep 60 echo Szef sie wylogowal, koniec pracy! W liście po można użyć komend break przerwanie pętli continue powrót początku pętli

Specjalne instrukcje powłoki ( ) jest wykonywana w osobnym śrowisku { ; } jest wykonywana w tym samym śrowisku time potok function fname { ; } fname () { ; }

Skrypty Są wykonywane w osobnej powłoce Mogą być wykonane w aktualnej powłoce za pomocą komendy. skrypt [par1 par2...] Winny mieć ustawiony atrybut x Parametry przekazywane w linii komendy są stępne jako zmienne powłoki $1, $2,.... Komenda shift powoduje przesunięcie zmiennych pozycyjnych o jedną pozycję Użytkownik może narzucić powłokę/interpreter: #!/bin/ksh lub ksh <skrypt Plik.prole Użytkownik może umieścić zestaw komend, które mają się wykonać po zalogowaniu systemu w pliku.prole.zprole (powłoki sh, ksh) (powłoka zsh) np.: TERM=vt100 PATH=$PATH:$HOME/bin:. EDITOR=vi export TERM EDITOR alias ll= ls -l

Przykład #!/bin/zsh # 1. Skrypt kopiuje wszystkie pliki z # aktualnego katalogu katalogu # podanego jako argument. # 2. Zmieniane sa nazwy plikow przez danie # przyrostka.old # 3. Jesli katalog celowy nie istnieje, to # jest tworzony if [[ $# = 0 ]] echo Blad - brak agumentu! echo echo Sposob uzycia skryptu: echo cpold katalog else if [[! -d $1 ]] mkdir $1 for plik in * if [[ -f $plik ]] cp $plik $1/${plik}.old