Usar el texto de salida de un comando como nombre de archivo

Usar el texto de salida de un comando como nombre de archivo

curl http://v6.ipv6-test.com/api/myip.phpme devuelve mi dirección IPv6 actual.

Me gustaría usar esta cadena como parte de un nombre de archivo que se creará, seguida de la marca de tiempo de cuando se ejecutó el script.

¿Alguna idea de cómo se podría hacer eso?

Respuesta1

Para usar el resultado de una cadena como variable, use la $(command)construcción (también conocida comosustitución de comando):

whatevercommand >$(curl http://v6.ipv6-test.com/api/myip.php)-$(date '+%F@%T')

Sin embargo, en este caso específico, esto es un poco peligroso ya que en caso de problemas de red puedes obtener algo inesperado, por lo que lo mejor es obtener la dirección por separado:

myip=$(curl http://v6.ipv6-test.com/api/myip.php)
[[ $? -ne 0 ]] && exit 1
whatevercommand >$myip-$(date '+%F@%T')

En la práctica, puedes obtener tu dirección ipV6 usando ip address show.

información relacionada