GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo crear un archivo temporal en Shell Script?

Mientras ejecuto un script, quiero crear un archivo temporal en /tmp directorio.

Después de la ejecución de ese script, ese script lo limpiará.

¿Cómo hacer eso en el script de shell?

Respuesta aceptada:

tmpfile=$(mktemp /tmp/abc-script.XXXXXX)
: ...
rm "$tmpfile"

Puede asegurarse de que un archivo se elimine cuando finalicen los scripts (incluidos los bloqueos y bloqueos) abriendo un descriptor de archivo para el archivo y eliminándolo. El archivo se mantiene disponible (para el script; no realmente para otros procesos pero /proc/$PID/fd/$FD es una solución alternativa) siempre que el descriptor de archivo esté abierto. Cuando se cierra (lo que hace el kernel automáticamente cuando el proceso finaliza), el sistema de archivos elimina el archivo.

tmpfile=$(mktemp /tmp/abc-script.XXXXXX)
exec 3>"$tmpfile"
rm "$tmpfile"
: ...
echo foo >&3

Linux
  1. Cómo crear un script de un comando de Linux

  2. Cómo crear un intercambio en Linux

  3. Cómo incluir un archivo en un script de shell bash

  4. Cómo ejecutar un script de shell al inicio

  5. Cómo ejecutar un archivo sin extensión .sh en shell

Cómo crear y ejecutar un script de Shell en Debian 10

Cómo crear y ejecutar un script de Shell en CentOS 8

Cómo crear un archivo de sitio web

Cómo crear un archivo Tar gz

¿Cómo ejecutar un comando en un script de Shell?

Cómo crear y ejecutar un script de shell en Ubuntu 22.04