apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
Komunikat ten może pojawić się podczas próby restartu Apache. Nie zakłóca on poprawnej pracy, ale skoro można go usunąć, to dlaczego tego nie zrobić?
Otwórz terminal i wydaj polecenie:
sudo gedit /etc/apache2/apache2.conf
Na końcu pliku dodaj linijkę:
ServerName localhost
Teraz restart:
sudo /etc/init.d/apache2 restart
i komunikat zniknął.
Wczoraj postanowiłem zainstalować na swoim laptopie phpmyadmin i podczas próby jego uruchomienia napotkałem błąd:
Not Found
The requested URL /phpmyadmin was not found on this server.
Pakiet (i wszystkie zależności) phpmyadmin zostały zainstalowane poprawnie, reinstalacja nie pomogła, dopiero utworzenie dowiązania rozwiązało problem:
sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin
Czwarta część serii artykułów
Programowanie w powłoce zostanie poświęcona pętlom.
Pętle służą do wielokrotnego wykonywania tego samego fragmentu kodu. W Bashu rozróżniamy następujące pętle:
- for,
- select,
- while,
- until.
Jednak zanim przejdę do opisu poszczególnych pętli, przedstawię dwa polecenia, które przydatne są w działaniu z pętlami - break oraz continue.
Break
Polecenie break przerywa wykonywanie całej pętli tzn. jeśli w trakcie wykonywania pętli napotkana zostanie owa instrukcja, działanie pętli zostaje zakończone i następuje przejście do dalszej części kodu.
Kolejny artykuł z serii "
Programowanie w powłoce" poświęcony jest wyrażeniu logicznemu
test, instrukcji warunkowej
if oraz instrukcji wyboru
case. Znajdziesz również informacje dotyczące operatorów pozwalających na formułowanie złożonych wyrażeń logicznych, które można zastosować w warunkach instrukcji
if (dotyczące zarówno zmiennych jak i plików).
Schemat działania wszystkich przedstawionych instrukcji jest taki sam - w zależności od warunku zostanie wykonany ciąg poleceń. Skoro wszystkie instrukcje działają tak samo, to po co ich aż tyle? Po przeczytaniu artykułu na pewno poznasz odpowiedź na to pytanie.
Od razu uprzedzam - stosowane w zapisie spacje (w zapisie instrukcji) nie są moim wymysłem a odgórnym wymogiem języka. Jeśli ich zabraknie, skrypt nie uruchomi się!
Warto zwrócić uwagę, że instrukcja warunkowa/wyboru kończy się w momencie wpisania jej odwrotnej nazwy (dla if będzie to fi, dla case - esac). Bez tego również skrypt się nie uruchomi.
Zmienne w Bashu to swojego rodzaju kontenery, ponieważ mogą przechowywać dowolne wartości. W tym artykule dowiesz się co to są:
słowa zastrzeżone, zmienne programowe, zmienne specjalne, zmienne systemowe oraz
zmienne tablicowe.
Kilka informacji na temat zmiennych, które warto zapamiętać:
- zmienne nie wymagają deklaracji,
- nazwa zmiennej nie może być słowem zastrzeżonym - o czym za chwilę,
- wielkość liter w nazwie zmiennej jest istotna,
- do zmiennej można przypisać wartość każdego typu - całkowity, rzeczywisty, znak, ciąg znaków etc.,
- zmienna, która wcześniej przechowywała wartość "pewnego typu" może również przechowywać wartość "innego typu",
- do zawartości zmiennej odwołujemy się poprzez znak $.
Słowa zastrzeżone
Słowa zastrzeżone to nazwy, które zarezerwowane są już dla konkretnych instrukcji w powłoce. Nazwa zmiennej nie powinna być słowem zastrzeżonym (ale może).
Poniekąd z obowiązku, ale również z ciekawości, postanowiłem pojąć podstawy (póki co) programowania w powłoce. Nie jestem samolubny, więc będę się z Wami dzielić wiedzą w dosyć przystępny (mam nadzieję) sposób.
Bash to jedna z najpopularniejszych powłok systemów uniksowych.
Skrypt to zwykły nieskompilowany plik tekstowy, zawierający różne instrukcje, polecenia systemowe, do wykonania przez zdefiniowany w skrypcie interpreter powłoki systemowej (/bin/bash). Zadaniem powłoki jest przetłumaczenie ich na polecenia systemu.
W pierwszej części kursu przedstawię sposób tworzenia i wykonania skryptu oraz podstawowe operacje wejścia i wyjścia.
Aby utworzyć skrypt potrzebny będzie Ci dowolny edytor tekstu (w moim przypadku Gedit) + konsola (skoro programujemy w powłoce to nie sposób od niej uciec).