Provided by: manpages-pl_20051117-1_all bug

NAZWA

     mktemp - twórz unikalną nazwę pliku tymczasowego

SKŁADNIA

     mktemp [-d] [-q] [-u] wzorzec

OPIS

     Narzędzie mktemp pobiera zadany wzorzec nazwy i zastępuje jego część by
     stworzyć nazwę pliku. Wynikowa nazwa jest unikalna i nadaje się do
     używania jako nazwa pliku.  Wzorzec może być dowolną nazwą pliku z
     dodanymi do niej dokładnie sześcioma znakami 'X', na przykład
     /tmp/temp.XXXXXX.  Końcowe 'X' zastępowane są przez numer bieżącego
     procesu i/lub unikalną kombinację liter.  Liczba unikalnych nazw plików,
     jakie może zwrócić mktemp daje około 26 ** 6 kombinacji.

     Jeśli mktemp może pomyślnie utworzyć unikalną nazwę pliku, to tworzony
     jest plik z prawami 0600 (chyba że podano flagę -u) zaś nazwa pliku
     wyświetlana jest na standardowym wyjściu.

OPCJE

     Dostępne są następujące opcje:

     -d      Utwórz katalog zamiast pliku.

     -q      Ciche zakończenie działania w przypadku błędu. Przydatne, gdy
             skrypt nie chce by komunikat o błędzie trafił na standardowe
             wyjście błędów.

     -u      Działaj w trybie ``unsafe'' (ryzykownym).  Plik tymczasowy będzie
             skasowany (unlinked) przed zakończeniem pracy mktemp.  Jest to
             nieco lepsze niż mktemp(3), ale nadal wprowadza `race condition'
             [tłum: ``wyścig'' procesów pomiędzy uzyskiwaniem unikalnych nazw
             i nadawaniem ich plikom].  Nie zaleca się używania tej opcji.

ZWRACANE WARTOŚCI

     Narzędzie mktemp kończy pracę z wartością 0 w przypadku powodzenia, zaś 1
     przy błędzie.

PRZYKŁADY

     Poniższy fragment w sh(1) ilustruje proste zastosowanie mktemp, gdzie
     skrypt winien zakończyć pracę jeśli nie może utworzyć bezpiecznego pliku
     tymczasowego.

           TMPFILE=`mktemp /tmp/$0.XXXXXX` || exit 1
           echo "program output" >> $TMPFILE

     W tym przypadku chcemy, by skrypt sam obsługiwał błąd.

           TMPFILE=`mktemp -q /tmp/$0.XXXXXX`
           if [ $? -ne 0 ]; then
                   echo "$0: Can't create temp file, exiting..."
                   exit 1
           fi

     Zauważ, że można też zamiast sprawdzania $? sprawdzać, czy $TMPFILE ma
     długość zerową. Pozwala to na wykonanie sprawdzenia w dalszej części
     skryptu (gdyż $? zostanie nadpisane przez następne polecenie  powłoki).

ZOBACZ TAKŻE

     mkstemp(3), mktemp(3).

HISTORIA

     Narzędzie mktemp pojawiło się w OpenBSD.