Stanąłem dzisiaj przed problemem dość prostym ale zwyczajowo pomijanym w typowych kursach Bash-a w internecie. Otóż jak zrobić warunek if z dwoma lub więcej warunkami? Rozwiązanie jest całkiem proste i oczywiste 😉 :
if [ -z $URL ] && [ -z $FILE ]; then
echo "Brak url (opcja --url) lub pliku (opcja --file) ";
exit 2;
fi
Planuje napisanie własnej aplikacji wspomagającej prowadzenie kursów no i oczywiście najlepiej, gdyby była ona dostarczana w postaci pakietów. Aplikacja będzie składała się z kilku skryptów perlowych więc nic nie będzie kompilowane. No i tutaj zaczeły się problemy: wszystkie HOWTO, wpisy w blogach itp pokazywały jak ściągnąć aplikacje napisane w C/C++, skompilować itd. No więc po dłuższej bitwie doszedłem jak to zrobić:
Skrypty należy umieścić w katalogu BUILD, struktura zależy od Ciebie,
katalog SOURCES może być pusty ;),
BuildArch ustaw na noarch,
zdefinuj sobie BuildRoot, tam rpmbuild będzie umieszczał katalogi w czasie tworzenia pakietu,
Nie zapomnij też zdefiniować sekcji %clean, straciłem trochę czasu by znaleźć, czemu rpmbuild raportuje mi pliki, których nie powinno być ;). Otóż sekcja clean pozwala czyścić katalog BuildRoot przed stworzeniem nowego pakietu (tak samo jak i po). Życzcie mi powodzenia przy tworzeniu tej aplikacji 🙂
Od dawna uważałem, że Linux pozwala używać stare sprzęty w sposób bardziej optymalny, daje im drugie życie. Mam taki stary komputerek (DELL 450 MHz, 256 RAMu) i:
Chciałem podłączyć większy dysk ale niestety 🙁 BIOS sobie nie radzi :(,
Większy dysk podłączyłem przez USB, niestety mam tam tylko USB 1.1, szybkością to nie powala :(, nie mogę jednocześnie sciągać z Internetu i przesyłać danych gdzieś w sieci lokalnej (osiągam w praktyce 1 -1,2 MB/s),
Chciałem dołożyć do niego kartę Wi-fi, po długich bojach okazało się że mam za stare PCI.
Bawie się ostatnio skryptami powłoki i postanowiłem napisać kilka uwag, które pozwolą tworzyć lepsze skrypty automatyzujące pracę systemu:
skrypt zawsze powinien logować swoje uruchomienie łącznie z czasem i parametrami, które zostały do niego podane (pozwala to określić czy skrypt został uruchomiony, kiedy został uruchomiony oraz jak powinien się zachować),
basename pozwoli okreslić Ci nazwę skryptu, który uruchamiasz bez całej ścieżki,
dirname pozwoli określić, gdzie skrypt się znajduje, możesz to wykorzystać do określenia położenia innych elementów
Poniższy skrypt pokazuje jak można w bardzo szybki a zarazem elegancki sposób analizować parametry podane do skryptu bashowego. Dla przypomnienia $# zawiera liczbę argumentów przekazanych do skryptu.
Używając skryptów powłoki, w szczególności napisanych przez kogoś innego, przydatne bywa zobaczenie co ten skrypt naprawdę robi. Najprostszym sposobem jest dodanie poniższej linijki na początek skryptu:
set -x
Dzięki temu każda komenda wykonywana przez skrypt będzie wyświetlania na ekranie! Przykład:
Cóź, używanie komendy find nie jest proste ;). Aby uzyskać ciekawsze efekty trzeba troszkę pokombinować. Postanowiłem więc wpisać na blogu prostą komendę „find”, która będzie użyta w moim następnym skrypcie a która w locie pozwala odpakować archiwa rar z hasłem:
W Debianie plik konfiguracyjny definiujący ustawienia sieciowy to /etc/network/interfaces. Pozwala on zdefiniować adresy sieciowe na sztywno lub umożliwić ich pobieranie z dhcp. Można nakazać ich podnoszenie w trakcie startu systemu albo i nie.
Debian to jedno z najciekawszych zjawisk powstałych w Internecie. Trudno go traktować wyłącznie jako projekt informatyczny gdyż jego działanie i wygląd jest odzwierciedleniem światopoglądu ludzi go tworzących.
Debian ma trzy podstawowe wersje dystrybucji: stable (stabilna), testing (testowa) oraz unstable (niestabilna). Czasem można też spotkać wersje frozen (zamrożoną). Każda z nich różni się pod względem bezpieczeństwa, stabilności oraz aktualności pakietów.