Unix Shell: wyłączanie dopasowywania nazw plików w pętlach

Opublikował siefca so 25 paź 2008 12:37:20 GMT

Pytanie

Mam w skrypcie powłoki pętlę, która iteruje po podanych jej nazwach. Reprezentują one pewne ścieżki w systemie plików. Niestety, gdy w którejś wartości znajdzie się znak gwiazdki, to przemądrzały shell w jej miejsce wstawia nazwy istniejących zbiorów pasujące do wzorca. A ja potrzebuję przekazać te gwiazdki i znaki zapytania do zmiennej, w nienaruszonej postaci.

Odpowiedź

Większość powłok próbuje nam pomóc i w przypadku pętli for … in … w miejsce nazw z listy po prawej stronie wstawia nazwy plików pasujące do symboli wieloznacznych (takich jak * czy ?).

Czytaj dalej…

jeden komentarz, bez trackbacka
 
Tagi: , , , , , , , , , , , , , , ,

Unix Shell: naucz system nowych partycji

Opublikował siefca cz 23 paź 2008 13:48:06 GMT

Czasami przychodzi taki moment w życiu każdego administratora, że odczuwa on pewnego rodzaju delikatne swędzenie, lecz nie związane z tym, że się nie mył od kilku tygodni, ale raczej z faktem posiadania nowej przestrzeni dyskowej, która wymaga zagospodarowania. Używa wtedy sympatycznego narzędzia cfdisk lub zasłużonego fdisk, żeby stworzyć nowe partycje na nowych (albo starych) dyskach.

Kiedyś wszystko było jasne, bo do tworzenia urządzeń służył skrypt MAKEDEV lub polecenie mknod. Dziś jest teoretycznie prostsze, bo pojawiły się podsystemy udev, czy nieco mniej wydarzony devfs, które chcą robić za administratora wszystko automagicznie. W związku z tym warto poznać polecenia, które pomogą Ci uwidocznić nowo wykreowany kawałek drive’u.

Czytaj dalej…

bez komentarza, bez trackbacka
 
Tagi: , , , , , , , , , , , , , , , , , , ,

AWK: symulacja polecenia dirname

Opublikował siefca wt 21 paź 2008 10:30:08 GMT

W systemach typu Unix istnieje polecenie o nazwie dirname, którego zadaniem jest wyświetlenie podanej nazwy ścieżkowej skróconej przez oddzielenie ostatniego elementu znajdującego się po wysuniętym najbardziej na prawo znaku ukośnika (włączając ukośnik). Wykorzystuje się je do tego, aby na podstawie ścieżki określającej nazwę pliku uzyskać nazwę katalogu. Czasami też wykorzystywane bywa w skryptach, które rekurencyjnie wywołując dirname dla tej samej zmiennej “podróżują” w głąb drzewa katalogowego. Ostatnimi czasy musiałem posłużyć się wielokrotnie wywoływanym poleceniem dirname w połączeniu ze skryptem awk. Tak więc, chcąc uniknąć zbędnego powoływania do życia osobnego procesu, a tym samym spowalniania wykonywania skryptu, pokusiłem się o stworzenie implementacji dirname w awk.

Czytaj dalej…

bez komentarza, bez trackbacka
 
Tagi: , , , , , , , , , , , ,

Unix Shell: poznaj punkt montowania

Opublikował siefca cz 16 paź 2008 17:06:03 GMT

Funkcja powłokowa getmount() próbuje określić, jaki jest punkt zamontowania w systemie plików dla podanego urządzenia. Oczywiście nie korzysta ona z pomocy użytkownika, ani tym bardziej jasnowidza, więc nie jest w stanie domyślić się ścieżki, jeśli nie jest ona nigdzie wpisana lub została schowana w gąszczu szalonych dowiązań.

Czytaj dalej…

bez komentarza, bez trackbacka
 
Tagi: , , , , , , , , , ,

OpenVPN: sieć prywatna dla każdego

Opublikował siefca śr 15 paź 2008 20:18:36 GMT

Zdarzyło Ci się kiedyś zarządzać bazą danych, do której potrzebny był zdalny dostęp przez niezaufane podsieci? A może zajmujesz się jakąś siecią LAN wymagającą dostępu wybranych użytkowników z Internetu? Jeśli tak jest, to najprawdopodobniej potrzebujesz użyć jakiejś formy tak zwanego tunelowania. Jak sama nazwa mówi polega to na stworzeniu tak zwanego tunelu, czyli pary sztucznych, skomunikowanych ze sobą interfejsów sieciowych zachowujących się identycznie jak połączone kablem karty sieciowe. Różnica jest tylko taka, że ów kabel nie istnieje naprawdę, jest emulowany z wykorzystaniem protokołów działających w Sieci.

Dla procesu korzystającego z takiego interfejsu druga strona komunikacji wydaje się być umiejscowiona w jego lokalnym zasięgu, czyli w odległości jednego punktu skoku (tak zwanego hopa), mimo że wymieniane informacje przechodzą przez wiele punktów pośrednich. Najczęściej poza połączeniem systemów chcemy także, aby wymieniane między nimi informacje nie były dostępne dla każdego – stosujemy wtedy szyfrowanie danych przesyłanych tunelem.

Czytaj dalej…

bez komentarza, bez trackbacka
 
Tagi: , , , , , , , , , , , , ,

Starsze wpisy: 1 2 3