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

Podobne dokumenty
System operacyjny Linux

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

Pracownia Komputerowa wykład III

Powłoka bash. Kurs systemu Unix 1

Powłoka (shell) Powłoka ksh

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

Programowanie skryptów powłoki

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

Systemy operacyjne 11

Bash - wprowadzenie. Bash - wprowadzenie 1/39

Programowanie w języku Python. Grażyna Koba

- wszystkie elementy - wszystkie elementy

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

PODSTAWY INFORMATYKI

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Technologie Informacyjne - Linux 3

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

Projektowanie aplikacji internetowych Pisanie skryptów wiersza poleceń - pętle

Środowisko programisty Zestaw 7

Zakład Systemów Rozproszonych

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

Skrypty powłoki w systemie Linux

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

Pracownia Komputerowa wykład III

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

Tworzenie skryptu: Skrypty powłoki

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

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

Interpreter poleceń oraz zmienne środowiskowe

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

1 Podstawy c++ w pigułce.

pico mojskrypt bash mojskrypt chmod +x mojskrypt./mojskrypt

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

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

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Mikrokontroler ATmega32. Język symboliczny

Blockly Kodowanie pomoc.

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

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

Podstawy Programowania Podstawowa składnia języka C++

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

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

Podstawy Programowania C++

1 Przygotował: mgr inż. Maciej Lasota

1 Podstawy c++ w pigułce.

POPULARNE POLECENIA SKRYPTY. Pracownia Informatyczna 2

Trochę o plikach wsadowych (Windows)

BASH - WPROWADZENIE Bioinformatyka 4

Podstawy użytkowania Linux a

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

PRACOWNIA INFORMATYCZNA CHARAKTERYSTYKA PRZEDMIOTU BASH - PODSTAWOWE INFORMACJE

Programowanie w Turbo Pascal

Podstawy informatyki

Programowanie w języku C++ Grażyna Koba

Tablice (jedno i wielowymiarowe), łańcuchy znaków

SKRYPTY. Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego

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

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Programowanie w BASH u Skrypt do ćwiczeń

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

Cw.12 JAVAScript w dokumentach HTML

Strona1. Linux. Skrypty powłoki

ZMIENNE. Podstawy PHP

Znaki globalne w Linuxie

Kurs pisania skryptów w powłoce BASH

Warto też w tym miejscu powiedzieć, że w C zero jest rozpoznawane jako fałsz, a wszystkie pozostałe wartości jako prawda.

Przedstawię teraz tzw. podstawowe symbole wyrażenia regularne (BRE, Basic Regular Expression)

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ć

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

Struktura pliku projektu Console Application

SED - Stream EDitor. edytor strumieniowy. Bogumił Konopka W-11/I-21 Politechnika Wrocławska

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

dokumentacja Edytor Bazy Zmiennych Edytor Bazy Zmiennych Podręcznik użytkownika

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

do instrukcja while (wyrażenie);

Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.

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

Bash - instrukcje warunkowe, pętle i funkcje

vi - Edytor tekstu. 1. To, co każdy powinien wiedzieć o vi!!!

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

Serwer WWW Apache. Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, , zakończony projekt

Wstęp do Informatyki dla bioinformatyków

Część 4 życie programu

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe

Wprowadzenie do Scilab: podstawy języka Scilab

EDYTOR TEKSTOWY VIM WYBRANE POLECENIA. Pracownia Informatyczna 5

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

Metody numeryczne Laboratorium 2

Technologie informacyjne lab. 4

Ćwiczenie 1. Wprowadzenie do programu Octave

Edytor tekstu MS Office Word

Klawiatura komputerowa.

Bash i algorytmy. Elwira Wachowicz. 20 lutego

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

Pracownia Informatyczna I ORGANIZACJA ZAJĘĆ, ZASADY ZALICZENIA

lekcja 8a Gry komputerowe MasterMind

Umieszczanie kodu. kod skryptu

4. Funkcje. Przykłady

JAVA?? to proste!! Autor: wojtekb111111

Transkrypt:

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 wykonane w powłoce jest nazywane zdarzeniem. Historia jest buforem tekstowym zawierającym wcześniej wprowadzone. Można je podejrzeć poleceniem: $ history Wszystkie zdarzenia zostaną ponumerowane, stęp nich jest możliwy poprzez użycie klawiszy kursor w dół i kursor w górę. Powłoka BASH ma funkcję wyszykiwania i uzupełniania zdarzeń. Należy wprowadzić tę część zdarzenia, którą pamiętamy, wciskamy klawisz Esc, zaraz za nim klawisz Tab, a zdarzenie pasujące wprowadzonego tekstu zostanie znalezione i wyswietlone. Jeśli jest ich kilka, system powiadamia sygnałem dźwiękowym i daje możliwość pisania kolejnych znaków. Znanymi i już wczesniej podanymi metodami można edytować polecenie. Istnieją różne sposoby odwołania się z listy historii. Przykławo: $!5 Odwołanie nr 5 z listy historii. $!ls Odwołanie pierwszego znalezionego na liście zaczynajacego się ls. $!-2 Odwołanie drugiego od końca listy. Uwaga: są numerowane według kolejności ich wykonywania. Sposoby edycji zdarzeń historii Istnieją dwa sposoby edycji: pierwszy wykorzystuje możliwość edytora wiersza poleceń odwołania sie zdarzenia i edycji za pomocą zestawu poleceń edytora emacs. Zestaw poleceń znajduje się poniżej: [Ctrl+p] przejście poprzedniego listy historii [Ctrl+n] - przejście następnego listy historii [Ctrl+<] - przejście na początek listy historii [Ctrl+>] - przejście na początek listy historii /wzorzec przeszukiwanie listy wstecz?wzorzec przeszukiwanie listy wprzód n powtórzenie przeszukiwania pozostałe zostały już podane wczesniej drugi wykorzystuje edycji poleceń edytor (myslnie vi) wskazywany zmienną FCEDIT. W czasie wykonywania można wskazać wykorzystywany edytor, przykławo emacs. $ fc 5 Wywołanie myślnego edytora dla edycji 5ego listy $ fc -e emacs 5 Wywołanie edytora emacs dla edycji 5ego listy Zmienne powłoki Zmienna powłoki jest deniowana wtedy, kiedy po raz pierwszy jest użyta. Może się składać z wolnych znaków alfabetu, łącznie z podkreśleniem. Może zawierać cyfry, ale nie jako pierwsze znaki. Nie może zawierać znaków!, &, space. Te znaki są rezerwowane własnego użytku przez powłokę. Nazwa może być tylko jednym słowem. Wartość jest przypisywana operatorem przypisania =. Wartość zmiennej powłoki może wymagać cytowania. We.wy skryptu Polecenie echo służy wyprowadzania danych. Polecenie read służy pobierania danych z klawiatury. Czyta słownie następny wiersz ze standarwego wejścia aż znaku nowego wiersza i przypisuje zmiennej. Przykłąd: echo wprowadz powitanie read powitanie echo "chcesz, zeby cię witac slowem $powitanie Podwójne cudzysłowy proste zapobiegają rozwijaniu wartości zmiennej.

echo wprowadz wzorzec plikow read wzorzec echo Poszukiwane pliki to: $wzorzec W tym przykładzie zmienna zostanie rozwinięta. Podwójne przekierowanie odwrotne << umieszcza dane w poleceniu. mail grzesiek << koniec_listu koniec_listu Operacje arytmetyczne powłoki: let Polecenie let powłoki służy wykonywania działań arytmetycznych. Składnia let: $ let wartość1 operator wartość2 Przykład $let 2*7 $let "2 * 7" Przypisanie wyniku let zmiennej $let "wynik = 2 * 7" Możliwe jest w poleceniu let używanie wolnych operatorów porównania wykonania porównań między wartościami liczbowymi - używane zarządzania strukturami sterującymi.uwaga: polecenie let automatycznie rozwija zmienne używane w wyrażeniach. (nazwa skryptu znowu) while let "znowu<=5" echo $znowu Witamy ne Wprowadzenie zmiennych skryptu przykład 1 while let "znowu<=$1" echo $znowu Witamy ne wywołanie znowu liczba_powtórzeń przykład 2 while let "znowu<=$1" echo $znowu $2 ne wywołanie znowu liczba_powtórzeń tekst_powitania Polecenie test Wyrażenie porównania jest w powłoce Linuxa testem logicznym. Składnia : test wartość1 -opcja wartość2

Operatory całkowite test int1 -eq int2 true, jeśli są równe int1 -qe int2 true, jeśli int1 większy lub równy int2 int1 -qt int2 true, jeśli int1 większe od int2 int1 -le int2 true, jeśli int1 mniejszy lub równy int2 int1 -lt int2 true, jeśli int1 mniejszy int2 int1 -ne int2 true, jeśli int1 nie równy int2 Operatory tekstowe test tekst1 = tekst2 true, jeśli tekst1 jest identyczny z tekst2 tekst1!= tekst2 true, jeśli tekst1 nie jest identyczny z tekst2 tekst true, jeśli wartość zmiennej tekst jest zdeniowana -n tekst true, jeśli tekst ma długość większą od zera -z tekst true, jeśli tekst ma długość równą zero Operatory plikowe test -d nazwa_pliku true, jeśli nazwa pliku odnosi się katalogu -f nazwa_pliku true, jeśli nazwa pliku jest zwykłym plikiem -r nazwa_pliku true, jeśli plik nazwa pliku może być czytany przez proces -s nazwa_pliku true, jeśli plik nazwa pliku ma długość większą od zero -w nazwa_pliku true, jeśli plik nazwa pliku może być zapisywany przez proces -x nazwa_pliku true, jeśli plik nazwa pliku jest wykonywalny operatory logiczne test!wyrażenie true, jeśli wyrażenie nie jest prawdziwe wyr1 -a wyr2 true, jeśli oba wyrażenia są prawdziwe wyr1 -o wyr2 true, jeśli któreś z wyrażeń jest prawdziwe Wyrażenie warunkowe if Składnia if if polecenie polecenie1 polecenie2 przykład echo wprowadz s w celu wyprowadzenia rozmiarow plikow echo w przeciwnym wypadku wyprowadzone beda wszystkie informacje o plikach echo -n "prosze o wprowadzenie opcji" read wybor if test $wybor = s ls --size ls -l echo jak sobie chcesz Struktura elif pozwala na zagłebianie operacji if. (skrót od if) Jeśli pierwszy test if zakończy się błędem, sterowanie jest przekazywane następnej struktury elif i wykonywany jest test związany z nią, działąnie jest powtarzane momentu, kiedy zostanie wuykonany prawdziwy test. Wykonywane są następujące za prawdziwym testem in sterowanie jest przekazywane poza strukturę if (poza słowo ). Sprawdzenie, czy w bieżącuym katalogu znajduje się plik o nazwie.prole if

test -f.prole echo "plik.prole znaleziony w bieżącym katalogu" echo "nie znaleziony plik.prole" Struktura wielokrotnego wyboru case: case napis in wzorzec_1) wzorzec_2) wzorzec_n) Przykłady: przykład 1 echo listowanie rozmiarów wpisz s echo listowanie wszystkich informacji wpisz l echo listowanie plików wpisz c echo -n "wprowadz opcje:" read wybor case $wybor in s) ls --size l) ls -l c) ls *.c echo bledna opcja Przykład 2 Skrypt sprawdza, czy pierwszym argumentem przekazanym w wierszu poleceń jest -i lub -e. W pierwszym przypadku zlicza ilość wierszy pliku o nazwie podanej jako drugi parametr, zaczynających się na literę i. Jeśli pierwszym argumentem jest -e, program zlicza wiersze pliku podanego jako drugi argument, które zaczynają się na literę e. W innym przypadku wyświetlany jest komunikat o blędzie. case $1 in -i) licz=`grep ^i $2 wc -l` echo "ilość wierszy zaczynających się na i w pliku $2 wynosi $licz" -e)

licz=`grep ^e $2 wc -l` echo "ilość wierszy zaczynających się na e w pliku $2 wynosi $licz" echo "nie rozpoznana opcja" Pętla for - in składnia for zmienna in lista_wartosci ne forma for - in bez listy wartości składnia: for zmienna ne Pętla jest wykonywana dla każdego wyrazu zawartego w zmiennej zmienna Skrypt pobiera wolną liczbę parametrów - nazw plików tekstowych, zamienia małe litery na wielkie, wynik zapisuje w pliku o nazwie oryginału, ale z rozszerzeniem caps for plik tr a-z A-Z < $plik >$plik.caps ne Skrypt tworzy kopię zapasową plików źródłowych i umieszcza je w katalogu zrodlakop for kopplik in *.c cp $kopplik zrodlakop/$kopplik echo $kopplik ne Inna wersja skryptu Struktura for bez określonej listy wartości bierze jako listę wartości argumenty wiersza poleceń. Argumenty podane w wierszu poleceń w czasie wywoływania skryptu stają się listą wartości, których odwołuje się for. Kolejność od pierwszego podanego argumentu. Struktura for bez zadanej listy jest równoważna liście $@. $@ jest specjalną zmienną argumentową, której wartością jest lista argumentów wiersza poleceń. for kopplik cp $kopplik zrodlakop/$kopplik echo "$kopplik" ne