Использовать выводимый текст команды в качестве имени файла

Использовать выводимый текст команды в качестве имени файла

curl http://v6.ipv6-test.com/api/myip.phpвозвращает мне мой текущий адрес IPv6.

Я хотел бы использовать эту строку как часть имени создаваемого файла, за которым следует временная метка запуска скрипта.

Есть идеи, как это можно сделать?

решение1

Чтобы использовать результат строки в качестве переменной, используйте конструкцию $(command)(она жезамена команды):

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

Однако в данном конкретном случае это немного опасно, так как в случае проблем с сетью можно получить что-то неожиданное, поэтому лучше получить адрес отдельно:

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

На практике вы можете получить свой адрес IPV6, используя ip address show.

Связанный контент