Iterate over a list of IPv6 Addresse in a Bash Script for loop-Collection of common programming errors

Try using


in order to replace all : with _.

If your files are already named this way and this shouldn’t change,


can be used as well. But I’m not sure if scp does recognize this appropriately.

Besides that, the scp manpage contains

File names may contain a user and host specification to indicate that the file is to be copied to/from that host. Local file names can be made explicit using absolute or relative pathnames to avoid scp treating file names containing ‘:’ as host specifiers. Copies between two remote hosts are also permitted.

So just using ./file_"${X}".xml should work as well.