• Nie Znaleziono Wyników

Pracownia Technik Obliczeniowych bash Paweł Daniluk

N/A
N/A
Protected

Academic year: 2021

Share "Pracownia Technik Obliczeniowych bash Paweł Daniluk"

Copied!
12
0
0

Pełen tekst

(1)

Pracownia Technik Obliczeniowych

bash

Paweł Daniluk

Wydział Fizyki

Wiosna 2016

(2)

Powłoka systemu

Powłoka systemu (shell) jest doskonałym narzędziem, które pozwala zrobić sporo więcej niż tylko uruchamiać programy.

Shell jest kompletnym językiem programowania.

Shell pozwala uruchamiać wiele zadań i nad nimi panować.

(3)

Zadania w tle

Każdy (?) działający program można zatrzymać (Ctrl-Z) i następnie wznowić.

Polecenia fg, bg i jobs pozwalają zarządzać uruchomionymi zadaniami.

Należy odróżniać zadania (jobs) bashowe od procesów systemu operacyjnego.

Przydatne kombinacje klawiszy:

1 Ctrl-C – kończy działanie programu (wysyła SIGTERM)

2 Ctrl-Z – zawiesza działanie zadania

3 Ctrl-Y – zawiesza działanie zadania w momencie, gdy oczekuje ono na standardowym wejściu

4 Ctrl-D – zamyka standardowe wejście zadania

(4)

Krótki slajd o zabijaniu

kill [-s sigspec | -n signum | -sigspec] [pid | jobspec] ...

killall [-e|--exact] [-g|--process-group] [-i|--interactive] [-q|--quiet] [-r|--regexp] [-s|--signal signal] [-u|--user user] [-v|--verbose] [-w|--wait] [-I|--ignore-case] [-V|--version] name ...

Przydatne sygnały (6) SIGABRT (9) SIGKILL (11) SIGSEGV (15) SIGTERM

(5)

Uruchamianie programów

W skrypcie bashowym można umieszczać dowolne polecenia, które bash interpretuje. Aby uruchomić program nie potrzeba nic szczególnego.

Chyba, że trzeba przechwycić wyjście.

Stary sposób – odwrotne apostrofy (backticks)

‘ls‘

Nowy sposób

$(ls)

(6)

Pętla for

Bash ma zwykłą pętlę for-each.

f o r i i n $ ( l s ) ; do echo i t e m : $ i done

Pętli można używać w linii komend.

(7)

Pętla for

Pętlę po liczbach można zrobić korzystając z programu seq.

f o r i i n ‘ s e q 1 1 0 ‘ ; do

echo $ i done

(8)

bash jest językiem programowania

Wyrażenia arytmetyczne echo $(( 2 + 2 ))

Przypisania

b=$(( $a + 2 ))

Instrukcja warunkowa

i f [ $a − l t 5 ] ; then echo " a ␣ j e s t ␣ male . " ; e l s e

echo " a ␣ j e s t ␣ s p o r e . " ; f i

(9)

bash jest językiem programowania

Pętla

w h i l e [ $k −g t 5 ] ; do k=$ ( ( $k − 1 ) ) ;

done

(10)

Zadanie 1

Napisz program generujący w nieskończoność kolejne liczby naturalne.

Uruchom go tak, aby po wylogowaniu się i ponownym zalogowaniu nadal działał.

(11)

Zadanie 2

Stwórz katalog zawierający bardzo dużo (>10k) plików o nazwach

będących liczbami naturalnymi. Usuń pliki o nazwach podzielnych przez 10.

(12)

Zadanie 3

Napisz skrypt, który przy pomocy wc zlicza linie w plikach o nazwach podanych w linii parametrów.

Cytaty

Powiązane dokumenty

Polecenie s/<wzorzec>/<nowy>/ służy do zastępowania wystąpień wzorca nowym

Język skryptowy szczególnie dobrze dostosowany do przetwarzania list i plików tekstowych.. There is more than one way to

Uruchom dwa wsady: ten z zadania 2 i dodatkowy, który po zakończeniu pierwszego zliczy maszyny, na które

Systemy UNIXowe mają z reguły ten sam układ katalogów.. /bin Podstawowe pliki wykonywalne dostępne dla wszystkich (np. cat,

Można również uruchamiać profilowanie określonych fragmentów z poziomu

Zaimplementuj klasę Complex realizującą podstawowe operacje na liczbach zespolonych oraz testy jednostkowe

PC-Shell jest dziedzinowo—niezależnym, szkieletowym systemem ekspertowym o właściwościach hybrydowych. Dzięki zastosowaniu elementów architektury tablicowej, bazę wiedzy

Wykaż, że suma kwadratów trzech kolejnych liczb całkowitych nieparzystych powiększona o 1 jest podzielna przez 12..