Witaj fajnie, że wpadłeś.

Dzień dobry, dzień dobry. Dziś obiecany Hello World. Program, po którym można wpisać do CV znajomość danego języka. :)

Dzisiaj omówię pokrótce sam program oraz wspomnę o środowisku uruchomieniowym. Zapraszam.

Wszyscy mają Hello World, mam i Ja.

Programy typu “Hello World” są najczęściej pisanymi programami, w każdym języku czy to assembler, bash, python, haskell, java, c, go itd.

Dlatego tradycyjnie musi i tu się taki program pojawić.

Spójrzmy na niego zatem:

#!/usr/bin/env bash
echo "hello world"

To było … szybkie.

A co my tutaj w ogóle mamy?

Rozłóżmy te dwie linijki na czynniki pierwsze.

Pierwsza linia jest to tak zwany “shebang” jest to informacja dla systemu o absolutnej ścieżce, do którego interpretera należy wykorzystać w celu uruchomienia danego skryptu. W tym przypadku podaliśmy ścieżkę do komendy env która wyszuka nam komendę bash

I tak i nie do końca. Tak się mówi, ale prawda jest taka, że komenda env uruchamia komendę, po niej następującą w zmienionym środowisku. Czyli tak naprawdę, są w tej linii dwie akcje. 1) Załadowanie środowiska i zmiennych systemowych ( w tym zmiennej PATH) 2) Uruchomienie interpretera bash, odnalezione w jednym z katalogów zdefiniowanych w zmiennej PATH

Ktoś może powiedzieć, ale skrypty uruchamiają się z pobranych zmiennych od użytkownika, to dlaczego muszę kazać mu znaleźć interpreter poprzez komendę env zamiast napisać samo bash?

Już śpieszę z wyjaśnieniem, bo to jest oczywiście prawda, jeżeli uruchamiamy program, bezpośrednio przez interpreter, czyli bash skrypt.sh.

W przypadku, gdy uruchamiamy program, jako samodzielny wykonywalny plik, to wtedy Linux statycznie sprawdza nagłówek, by określić, jak operować na pliku i dlatego podajemy mu ścieżkę do interpretera lub “rozkaz” by system wyszukał wymaganego przez nas interpretera i zmiennej środowiskowej PATH

Druga linia to już nasze właściwie działanie.

Tak, jak mówiłem o drukowaniu w “Skrypty powłoki Bash #2 - Jak Gutenberg przykazał”, komenda echo jest komendą, która “wydrukuje” na ekran linię z tekstem (linię, czyli ostatnim znakiem będzie LF v \n) i tak przy komendzie echo "Hello World" otrzymamy wynik hello world

Hello World

Ekscytujące prawda?

Wiem, że nie aż tak jak inne programy, ale jak to mówią “zaraz się rozkręci”

Ile można?

Na dziś to tyle, no bo ile można rozprawiać o Hello World :)

Serdecznie zapraszam na dalsze artykuły. Życzę miłego dnia.