- wszystkie elementy - wszystkie elementy



Podobne dokumenty
System operacyjny Linux

Bash - wprowadzenie. Bash - wprowadzenie 1/39

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

Przekierowanie wejścia wyjścia:

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

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

pico mojskrypt bash mojskrypt chmod +x mojskrypt./mojskrypt

Tworzenie skryptu: Skrypty powłoki

Systemy operacyjne 11

Powłoka bash. Kurs systemu Unix 1

POPULARNE POLECENIA SKRYPTY. Pracownia Informatyczna 2

Trochę o plikach wsadowych (Windows)

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

Programowanie skryptów powłoki

Powłoka (shell) Powłoka ksh

1 Przygotował: mgr inż. Maciej Lasota

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

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

Bash - instrukcje warunkowe, pętle i funkcje

Bash i algorytmy. Elwira Wachowicz. 20 lutego

Środowisko programisty Zestaw 7

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

Skrypty powłoki w systemie Linux

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

PODSTAWY INFORMATYKI

Powłoka interpreter poleceń systemu UNIX

Systemy operacyjne II Laboratorium. Część 1: Pliki wsadowe Windows

Strona1. Linux. Skrypty powłoki

TEMAT : System operacyjny MS DOS pliki wsadowe

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

Metody numeryczne Laboratorium 2

Pracownia Komputerowa wykład III

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

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

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists()

Wstęp do systemów wielozadaniowych laboratorium 19 awk

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

Przypomnienie komend linux'a.

Programowanie w BASH u Skrypt do ćwiczeń

Ćwiczenie nr 14: System Linux

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis

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

Polecenia wewnętrzne:

Znaki globalne w Linuxie

Interpreter poleceń oraz zmienne środowiskowe

System operacyjny Linux

Środowisko programisty

Wstęp do Informatyki dla bioinformatyków

Pliki wsadowe powłoki Windows.

Stosowanie poleceń związanych z zarządzaniem plikami oraz katalogami: nazwa_polecenia -argumenty ścieżka/ścieżki do katalogu/pliku

Język Python. Język Python 1/35

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

LibreOffice Calc VBA

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Liczby losowe i pętla while w języku Python

SYSTEMY OPERACYJNE ĆWICZENIE POLECENIA SYSTEMU MSDOS

Podstawy programowania

PODSTAWOWE INFORMACJE NA TEMAT KONSOLI W SYSTEMIE WINDOWS

lekcja 8a Gry komputerowe MasterMind

Wiersz poleceń Windows

Wprowadzenie do programowania w powłoce

Zapis algorytmów: schematy blokowe i pseudokod 1

Kurs pisania skryptów w powłoce BASH

Technologie Informacyjne - Linux 3

II. Programowanie wsadowe DOS/Windows

1 Obsługiwane funkcje wyzwalaczy

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk

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

Warsztaty dla nauczycieli

Ćwiczenie 1. Wprowadzenie do programu Octave

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

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

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

Podstawy informatyki

Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz

Rozpoznawanie obrazu. Teraz opiszemy jak działa robot.

Ćwiczenie 1. Wprowadzenie do programu Octave

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

Podstawy Programowania.

@echo off wyłączyliśmy polecenie "echo" Pause>nul oczekiwanie naciśnięcia dowolnego przycisku Pause? echo. przerwa miedzy wierszami

1. Wyrażenia regularne. Symbole w wyrażeniach regularnych 1 :

Ćwiczenie: JavaScript Cookies (3x45 minut)

Język C, tablice i funkcje (laboratorium, EE1-DI)

Formy dialogowe w środowisku Gnome

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

Narzędzia informatyczne w językoznawstwie

PRACOWNIA INFORMATYCZNA CHARAKTERYSTYKA PRZEDMIOTU BASH - PODSTAWOWE INFORMACJE

Wysyłanie pliku na serwer. Plik na serwerze.

Podstawy Programowania

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

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

Pracownia specjalistyczna. Materiały przygotowali: mgr inż. Wojciech Frohmberg, mgr inż. Michał Kierzynka

Tablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1

Program wykonujący operację na plikach powinien zachować schemat działania zapewniający poprawną pracę:

Linuks skrypty Część teoretyczna

Podstawy algorytmiki i programowania - wykład 2 Tablice dwuwymiarowe cd Funkcje rekurencyjne

Programowanie w języku Python. Grażyna Koba

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"

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński

Transkrypt:

Tablice: indeksy całkowite >=0 tworzenie: TABLICA[0]=45 TABLICA[1]=23 TABLICA[2]=78 lub TABLICA=(45 23 78) lub TABLICA=($@) odwołanie echo ${TABLICA[3] echo ${TABLICA[*] echo ${TABLICA[@] Długość zmiennej: - wszystkie elementy - wszystkie elementy ${#ZMIENNA długość zmiennej ${#TABLICA[@] - długość tablicy ${#TABLICA[$idx] długość elementu tablicy pod indeksem $idx Instrukcja warunkowa: if war1; then instr1 elif war2; then instr2 instre np. Pętla while: if [ $ZM1 -eq $ZM2 ]; then... while war; instr np. while [ -n "$1" ]; echo $1 shift

Pętla for: for param; echo $param #wyswietl kolejny parametr... for plik in `nd. -name "*.txt"` echo $plik for le in * ; echo $le TAB=(3 7 1 0) for t in ${TAB[@] echo $t for licz in 1 4 6 echo $licz for i in `seq 1 10`; echo $i for ((licz=0;licz<=15;licz++)) echo $licz for ((a=1;a<=$#;a++)); echo $a : ${!a Exit-code: $? 0 wykonanie poprawne, pozostałe błędne - status wykonania potoku to status ostatniego polecenia polecenie1 && polecenie2 - polecenie2 jest wykonywane wttw gdy polecenie1 zwróciło 0, statusem takiej listy jest status ostatnio wykonanego polecenia polecenie1 polecenie2 - polecenie2 jest wykonywane wttw polecenie1 zwróciło status niezerowy, statusem takiej listy jest status ostatnio wykonanego polecenia

Warunki: exit-code np. if grep Ala plik.txt then echo Znalazlem "Ala" w plik.txt echo Nie znaleziono "Ala" w plik.txt test / [... ] np. if test 3 -lt $ZM ; then echo Liczba wieksza od 3 elif [ 3 -eq $ZM ] ; then echo Liczba rowna 3 echo Liczba mniejsza od 3 Testy związane z: plikami/katalogami np. -f plik, -d katalog, napisami np. =,!=, liczbami np. -eq, -ne, AND, OR, NOT : -a, -o,!... Obliczanie wyrażeń cd.: expr: ZMIENNA=`expr 2 + 3` ZMIENNA=$[10*2] ZMIENNA=$[ZMIENNA+5] ZMIENNA=$((11%3)) ZMIENNA=$((ZMIENNA*3)) ((ZMIENNA=ZMIENNA+2)) operacje zmiennoprzecinkowe ZMIENNA=`echo 2.3+3 bc` Wykorzystanie wyniku polecenia cd.: `...` $() ZM=`grep Ala plik.txt wc -l` ZM=$(grep Ala plik.txt wc -l)

Podprogramy.: nazwa_podpogramu () { instr1; instr2; instr3;... argumenty : $1, $2,..., $9 (stępne również $0, $@, $#, shift ) przykład: znajdz () { KAT=$1 ROZSZ=$2 nd $KAT -name *.$ROZSZ znajdz $HOME sh przykład rekurencji : #wywolanie podprogramu silnia () { if [ $1 -eq 0 ] ; then echo 1 echo $[$1 * `silnia $[$1 1]`] wywołanie: silnia 5 Zadania: 0. napisz skrypt, który wczyta od użytkownika liczbę n i wyświetli swój n-ty argument 1. napisz skrypt, który sprawdza, czy został wywołany z argumentami i wypisuje stosowną informację 2. napisz skrypt, który wypisuje swoje argumenty, każdy w osobnym wierszu 3. napisać skrypt, który spróbuje wyświetlić plik podany jako jedyny argument. Po udanej operacji powinien wyświetlić komunikat o prawidłowym działaniu, jeśli wystąpił jakiś błąd (np. brak pliku o takiej nazwie), powinien wyświetlić komunikat o braku sukcesu 4. napisać skrypt, który sprawdza czy podany jest kładnie jeden argument (w przeciwnym przypadku zgłasza błąd): - jeśli jedyny argument jest katalogiem - wypisuje jego zawartość

- jesli jest plikiem - wypisuje jego treść - w przeciwnym przypadku zgłasza błąd 5. napisać skrypt, który wszystkie argumenty skryptu zapisze w tablicy, następnie zaś wykorzystując tę tablicę, znajdzie najdłuższy z nich 6. napisać skrypt, który wyszuka w bieżącym katalogu pliki zawierające swoją nazwę 7. napisać skrypt, który wszystkie pliki w bieżącym katalogu z rozszerzeniem podanym jako pierwszy argument skopiuje katalogu BACKUP w tym katalogu (jeśli istnieje nie-katalog o takie nazwie, należy zgłosic błąd). Jeżeli taki katalog nie istnieje, skrypt powinien go założyć. Brak argumentu (rozszerzenia plików) oznacza, że kopiowane są wszystkie pliki. Następnie spakować i skompresować ten katalog poleceniem tar pliku backupdata.tgz, (gdzie DATA oznacza dzisiejszą datę w formacie YYYY-MM-DD uzyskaną z polecenia date), zaś katalog BACKUP usunąć 8. napisać skrypt, którego jedynym argumentem jest katalog (należy sprawdzić, czy taki katalog istnieje). Dla każdego pliku w tym katalogu oraz we wszystkich jego podkatalogach zostanie wypisana nazwa pliku i rozmiar w bajtach (for+nd+wc) Jeśli katalog nie zostanie podany, to powinien zostać przeskanowany katalog bieżący.