Вы можете использовать mktemp
:
$ mktemp foobarXXXXXX
foobarAU7TyS
$ mktemp foobarXXXXXX
foobardDqS61
$ mktemp foobarXXXXXX
foobarioCZw2
Возможно, в вашем примере это будет примерно так:
mv "$fname" "$(mktemp "${fname%.zip}"XXXXXX.zip)"
Но вам следует провести некоторое тестирование. Странные вещи происходят с zip-файлами, которые заканчиваются на 'X' ...;) (требуется суффикс / разделитель, отличный от X, который я для удобства оставил в этом примере).
Хорошая особенность mktemp
заключается в том, что он гарантирует, независимо от того, насколько маловероятна вероятность, что имя файла еще не существует. Конечно, в приведенном выше примере бесполезно, что в первую очередь не проверяется наличие ошибок ...
Или вы используете встроенный механизм - backup
mv
.
(Зависит от того, почему вы это делаете в первую очередь.)
//, согласно bestvpn.com, одному из лучших сайтов сравнения VPN, IMO, IPVanish не поддерживает OpenSSH:
https://www.bestvpn.com/compare/expressvpn-vs-ipvanish/
Он также не поддерживает SSTP, Cisco DTLS или SmartDNS.