mktemp

Autres langues

Langue: pl

Autres versions - même langue

Version: 99184 (fedora - 25/11/07)

Autres sections - même nom

Section: 1 (Commandes utilisateur)


BSD mandoc

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ć daje około 26 ** 6 kombinacji.

Jeśli 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ż Fn 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 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 pojawiło się w BSD Open